Re: [Lazarus] Repainting of TWinControl children

2020-05-06 Thread gabor via lazarus

W dniu 2020-05-04 o 17:33, Martin Grajcar via lazarus pisze:

   if not ((csLoading in ComponentState) or (Self is TWinControl)) then
     InvalidateControl(IsControlVisible, False, true);

Our component extends TCustomControl, so it doesn't get invalidated. I 
guess, such components are supposed to use a different mechanism, but I 
can't see how? Can someone point me to the right doc.


The TCustomControl class inherits from TWinControl class so problem must 
be somewhere else.


Michał.
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Repainting of TWinControl children

2020-05-06 Thread Martin Frb via lazarus

On 06/05/2020 20:36, Vojtěch Čihák via lazarus wrote:


AFAIK with TCustomControl you obtain just Resize and then Paint.

Paint is preceded by WMPaint. You should move your code to one of 
these methods.





Probably done by the OS.

Example 
https://docs.microsoft.com/en-gb/windows/win32/api/winuser/nf-winuser-movewindow?redirectedfrom=MSDN
If called to change the size and called with bRepaint then invalidation 
is taken care of.
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Repainting of TWinControl children

2020-05-06 Thread Vojtěch Čihák via lazarus

AFAIK with TCustomControl you obtain just Resize and then Paint.
Paint is preceded by WMPaint. You should move your code to one of these methods.
 
Vojtěch a.k.a. Blaazen
 
__

Od: "Martin Grajcar via lazarus" 
Komu: "Lazarus mailing list" 
Datum: 04.05.2020 17:33
Předmět: [Lazarus] Repainting of TWinControl children


In a large project I found out that after on resizing of the form, some 
components get properly resized but don't receive an Invalidate call. I guess, 
it's caused by the test in lcl/include/control.inc

  if not ((csLoading in ComponentState) or (Self is TWinControl)) then
    InvalidateControl(IsControlVisible, False, true);Our component extends 
TCustomControl, so it doesn't get invalidated. I guess, such components are 
supposed to use a different mechanism, but I can't see how? Can someone point 
me to the right doc.

--

--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus 


-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus