Hi, I am just making a wild guess, so if it sounds absurd, please ignore. :-)
How about creating a dummy invisible button, and use that one as a buffer for all the other buttons. So, everytime you need to update a button, rather make the dummy what you want, then somehow copy the canvas of the dummy into the canvas of the actual button. I think if this would work it will eliminate flicker and shouldn't be too much overhead. Charl On 5/29/07, A.J. Venter <[EMAIL PROTECTED]> wrote:
> DoubleBuffered is a hint for the interface. > The gtk2 intf always paints double buffered for each gdkwindow. > That means paint events are double buffered, other painting not. The > gtk1 intf has almost no doublebuffering. I'm not sure about > the other interfaces. Aaah okay, that makes sense. > > I only did a small test: The gtk intf only paints once per Invalidate > and there I see no flicker at all. That's because the bitbtn glyph > handle is a memory handle and not an image on the screen. Maybe the > win32 intf is creating a screen handle? That would explain the > flickering. This is a GTK1 app. The catch is that if I don't call invalidate, the buttons go entirely blank instead of merely being grayed out, this includes the captions. If I DO call invalidate, I end up with a whole LOT of repaints all the time - which is... well ugly to say the least. I am still not sure how best to approach this. Shouldn't the buttons remain in their last state, repainted when "damaged" until such time as they are changed ? I'm not even moving anything here just painting some info onto SOME of the buttons and updating those periodically while setting the others disabled until such time as they are in use. And it's the DISABLED buttons which are giving me grief, the enabled once have a very slight flicker but it's actually almost nothing (again I don't know why that would be). -- A.J. Venter CEO - OutKast Solutions C.C. http://www.outkastsolutions.co.za Cell: +27 83 455 9978 Fax: +27 21 413 2800 Office: +27 21 591 6766 _________________________________________________________________ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
-- "I love deadlines. I especially love the whooshing sound they make as they fly by." - Douglas Adams