[Lazarus] A manifest file X WMPaint event

Hans-Peter Diettrich DrDiettrich1 at aol.com
Mon Sep 9 21:34:55 CEST 2013


Ademir Constantino schrieb:
> Dear all
> 
> I have noted something strange when I try to use a WMPaint event with 
> Manifest File for Windows theme support.
> 
> For example, If create a descendent class from TEdit and I add this event:
> procedure WMPaint  (var Message: TLMPaint); message LM_PAINT;
> 
> Even I do not write anything in this procedure, I can not see what is in 
> the Edit when it it not focused (it is not in editing mode). That is, if 
> I focus on another component, the content of the edit stays invisible 
> (disapeare).

I'm not sure what you mean. In WMPaint you either have to show the text 
yourself, or let it show by calling "inherited". If you don't paint 
anything, the display will stay empty, of course.

> But, if I disable the option  "Use manifest file to enable themes", then 
> it work fine. Is it a bug?

Maybe, the native Windows controls often do not respect the conventions. 
I have similar problems even without themes (W2K), where my paint 
handler is only called in non-focused state. In focused state the EDIT 
control seems to handle painting itself, ignoring all eventually 
installed paint handlers.

DoDi





More information about the Lazarus mailing list