Hi,

I had a look at the LCL-fpGUI widgetset status and thought I would
tackle the TButton implementation.  I create a simple project using
the Form Designer in Lazarus.  The Form displays, but the components
on the form doesn't.

1) My first thought was the the position of the components are wrong.
I placed debug information in the TfpgWidget.HandleShow, which is
called and the positions look correct.

2) I then thought maybe the Parent property is not correct or nil.  I
Added debug code in TFPGUIPrivateButton.CreateWidget().  I explicitly
checked the result and class type of GetParentContainerWidget() call.
It is correct and returns the TfpgForm.

I even debuged it with 'xwininfo -tree' and it shows the components
are there and positions correctly.

Below is the output of my test program.  Anybody got any clues what
else I can check?  I'm quickly running out of ideas. The components
seem to be created correctly. There HandleShow gets called and The
Form's paint method gets called.

The only thing I can see that is wrong (and vital) is that the
TfpgButton.HandlePaint() is never called. Further investigation shows
that the Paint Message which triggers HandlePaint() is never received
by any of the components on the form. Only the Form itself seems to
get that message.  Any clues where LCL is stopping that?  A plain
fpGUI based application works fine, it's just the LCL-fpGUI based
application that doesn't.

----------------------
[EMAIL PROTECTED]:t1$ ./test1
OnCreate
self.Visible := FALSE
Button has parent (TfpgForm)
Button has parent (TfpgForm)
OnShow
self.Visible := TRUE
BaseForm.Show
Widget.HandleShow - TfpgForm  x:290 y:201 w:400 h:300
0...  Widget.HandleShow - TfpgMenuBar  x:0 y:0 w:16 h:21
1...  Widget.HandleShow - TfpgButton  x:29 y:40 w:75 h:25
2...  Widget.HandleShow - TfpgEdit  x:151 y:37 w:80 h:23
3...  Widget.HandleShow - TfpgCheckBox  x:178 y:75 w:110 h:24
4...  Widget.HandleShow - TfpgRadioButton  x:178 y:117 w:126 h:24
5...  Widget.HandleShow - TfpgRadioButton  x:178 y:157 w:126 h:24
6...  Widget.HandleShow - TfpgButton  x:54 y:179 w:75 h:25
BaseForm - MsgActivate
TfpgWidget.MsgPaint - TfpgForm
BaseForm.HandlePaint
----------------------


Regards,
  - Graeme -


_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/
_______________________________________________
Lazarus mailing list
[email protected]
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to