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