I am having problems finding a way on Linux to stop a form flickering as it is 
repainted when resized. On Delphi I used to do this by processing the Windows
Erase Background message and supressing the OS background fill (WM.Result=0).
When I converted this to the Equivalent LM message it didn't work. Googling 
for a solution I found a suggestion that used the DoubleBuffered property to
eliminate the flicker. This works under windows but not GTK1 on Linux.

My questions are:

Is this a known limitation?
Will it also be the case in other Linux widgetsets (GTK2/QT)?
Why doesn't the Delphi message handling technique work on Lazarus even in 
Windows?

For test purposes you can replicate the problem by creating a single form app 
with the following two event procedures. When the form is resized it will 
flicker red/grey on Linux but be solid red on Windows:


Procedure TMainForm.FormCreate(Sender: TObject);
Begin
  Self.DoubleBuffered := True;
end;

Procedure TMainForm.FormPaint(Sender: TObject);
Begin
  Canvas.Brush.Color:=clRed;
  Canvas.FillRect(ClientRect);
end;

_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to