[Lazarus] GTK2 EraseBackgound
JoshyFun
joshyfun at gmail.com
Sun Feb 7 00:08:40 CET 2010
Hello Lazarus-List,
Saturday, February 6, 2010, 10:39:45 AM, you wrote:
>> Oh! no! for sure no, that's not the intention. My intention was to add
>> a new facility to native TEdit, in fact I only need that facility for
>> Win32 but as it is very simple I'm using it to investigate other
>> widgetsets and try to resolve the same problem in different toys.
PI> Ok. Open lcl\interfaces\gtk\gtkcallback.inc search for LM_ERASEBKGND,
PI> comment then line:
PI> if (TObject(Target) is TCustomControl)
PI> and recompiler the LCL. Test after that - does this solves your problem?
No "problem" is not solved because:
1) EraseBackground is now invoked, but calling "inherited
EraseBackground" does not perform the default erasebackground
procedure.
2) Now background is completly gone due (1)
3) WMPaint is invoked but the paint is always performed (whichever
result is set in the message) so the inner rect in the TEdit is
cleared always.
I think a deeper change in GTK is needed to handle this situation,
maybe all controls must be APP_PAINTABLE and call some methods to
perform the operations, but I'm not completly sure that it could be
done in fact in GTK (following this logic).
Thank you for your time.
--
Best regards,
JoshyFun
More information about the Lazarus
mailing list