[Lazarus] A manifest file X WMPaint event

Ademir Constantino ademir.uem at gmail.com
Tue Sep 10 21:04:42 CEST 2013


On 09/09/2013 16:34, Hans-Peter Diettrich wrote:
> 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
>
>
> -- 
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>
Your are right.

Actually I was trying to use this event to do put the content on left 
side (left justify)) when I am editing  and put on right side (right 
justify) when I exit it, but this does not worked as I was thinking.

I will try to discover other way.

Thanks

Ademir




More information about the Lazarus mailing list