Link to home
Start Free TrialLog in
Avatar of JohnE
JohnE

asked on

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
ASKER CERTIFIED SOLUTION
Avatar of BoRiS
BoRiS

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of TheNeil
TheNeil

Why not disable the DBRichEdit before you start the update and then enable it when you've finished

The Neil =:)
JohnE

Or you could always just call

DbRichEdit1.Invalidate;

Later
BoRiS
See what happens when you set TDBRichEdit.DoubleBuffered to true...
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.
Avatar of JohnE

ASKER

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
Avatar of JohnE

ASKER

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
Avatar of JohnE

ASKER

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
Avatar of JohnE

ASKER

Sorry about the multiple posts - trouble with my connection.