Flicker in DBRichedit

Hi,

I am using a DBRichEdit component. When you exit the component the table refreshes.

When there is more text in the component than is visible and you exit the control, the component has a bad flicker.

Thanks for any help.

John
JohnEAsked:
Who is Participating?
 
BoRiSConnect With a Mentor Commented:
JohnE

There are various ways to hide the flicker here are a couple and I'm sure you'll get a couple more in other comments... ;-)

LockWindowUpdate();//the easiest not always the best
InValidateRect();//very good, detailed
trap the WM_NCPAINT or WM_ERASEBKGND messages//more or likely the best, hard

Later
BoRiS
0
 
TheNeilCommented:
Why not disable the DBRichEdit before you start the update and then enable it when you've finished

The Neil =:)
0
 
BoRiSCommented:
JohnE

Or you could always just call

DbRichEdit1.Invalidate;

Later
BoRiS
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
EpsylonCommented:
See what happens when you set TDBRichEdit.DoubleBuffered to true...
0
 
ptmcompCommented:
This are all just workarounds. If you want to fix this problem, you have to subclass the TRichEdit and fix the parts where the VCL implementation causes flickering. (That's of course EraseBknd, window style, message handlers and so on..). I've the whole solution at work but there something like a copyright, so I can't paste the implementation here. (It also supports Richedit2 and 3 standards and even the TOM interface.) I thought of selling it. If there are enough people that want to buy it, it where possible to sell it (for a few dollars).
Regards, ptm.
0
 
JohnEAuthor Commented:
Hi all,

Thanks for your suggestions and information. As it turns out, I removed the refresh from the onexit procedure and the flicker stopped and the data is still being updated in the table. This did not occur when I was using BDE, but I am now using DBISAM as a BDE replacement and it works fine.

Although the answer didn't come from the comments, I have learned about some new areas. So, on the basis of first reply, I'll give the points to Boris.

Thanks again,

John
0
 
JohnEAuthor Commented:
Hi all,

Thanks for your suggestions and information. As it turns out, I removed the refresh from the onexit procedure and the flicker stopped and the data is still being updated in the table. This did not occur when I was using BDE, but I am now using DBISAM as a BDE replacement and it works fine.

Although the answer didn't come from the comments, I have learned about some new areas. So, on the basis of first reply, I'll give the points to Boris.

Thanks again,

John
0
 
JohnEAuthor Commented:
Hi all,

Thanks for your suggestions and information. As it turns out, I removed the refresh from the onexit procedure and the flicker stopped and the data is still being updated in the table. This did not occur when I was using BDE, but I am now using DBISAM as a BDE replacement and it works fine.

Although the answer didn't come from the comments, I have learned about some new areas. So, on the basis of first reply, I'll give the points to Boris.

Thanks again,

John
0
 
JohnEAuthor Commented:
Sorry about the multiple posts - trouble with my connection.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.