PDA

View Full Version : How to refresh an TImage object in Delphi?



earth_walker
07-29-2003, 10:50 AM
Hi! I use OpenGL to draw on a TImage object. When I Clear the buffer(use glClear) and redraw the graph, I found the the image in TImage object doesn't changes immediately. Only when I use another window to cover the TImage object and discover it again, the covered part of TImage is updated.
How can I solve this problem and let it update itself immediately?
Thank you!

earth_walker
07-29-2003, 11:52 AM
Hi!
I find a very irregular method:
after redrawing the buffer, assign False to the "Visible" field of TImage object then assign it to True immediately. This operation is equal to quickly cover it and expose it again.
I also tried to use the "refresh" method of the Canvas on the TImage object, but it doesn't work.
Is there any better method?
Thank you!

Mazy
07-29-2003, 12:09 PM
Timage is not the best to draw opengl in, you should try a normal window, or get the Handle of a TPanel.. or you could use my little Draw.pas component that exposes that for you in a very lightweight way..
http://mazy.annat.nu/files/Delphi/Components/

since this is very delphi bound questions, please continue via mail if you want help with the component - Mazy(at)annat.nu

earth_walker
07-29-2003, 01:45 PM
Thank you! I will try it.