Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 443
  • Last Modified:

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
0
JohnE
Asked:
JohnE
1 Solution
 
BoRiSCommented:
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
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now