[Lazarus] Visual "uglyness" when creating TSynEdit @ runtime in my app

luiz americo pereira camara luizmed at oi.com.br
Sat Jan 5 11:36:01 CET 2013

2013/1/5 luiz americo pereira camara <luizmed at oi.com.br>:
> 2013/1/5 Mattias Gaertner <nc-gaertnma at netcologne.de>:
>> On Sat, 05 Jan 2013 08:32:54 +0000
>> Martin <lazarus at mfriebe.de> wrote:
>>> and therefore finally
>>>    s:=PageControl1.AddTabSheet;
>>>    PageControl1.ActivePage := s;  // paint tabsheet
>>>    l := TSynEdit.Create(self);
>>>    l.Parent := s;                               // paint scrollbars, not
>>> yet aligned
>>>    l.Align := alClient;                      // paint scrollbars
>>> (again), this time aligned. Since synedit itself does not yet paint, the
>>> previous painted scrollbars remain a visible image
>> It seems the Win32 intf triggers immediate paints.
>> Maybe some win32 developer can explain why.

I've found a suspect.

SetParent triggers the handle creation
TSynEdt.CreateWnd calls SizeOrFontChanged that calls UpdateScrollBars
Here, since PaintLock <> 0 the scrollbar change is postponed

Martin/Bart, can you check if you pass the check for PaintLock in

Alternatively comment the call to SizeOrFontChanged in CreateWnd and
see what happens


More information about the Lazarus mailing list