[lazarus] Lazarus QT Engine snapshot

Cliff Baeseman vbman at pcpros.net
Thu Oct 21 00:23:04 EDT 1999


Hi everyone here is a snapshot of a form and button generated by FPC code
and the Lazarus QT Engine...

I finalized the engine design and am now going after adding all widgets.
Events are now working just fine. Here is the test app code... This should
plug right into the LCL stuff without changing much of anyting except the
QTObject will just pass the messages straight to the LCL QT Engine

program Test;
{$ objfpc}
uses
 testlib, sysutils;

{ button callback event handler  }
procedure CallMe(myint: integer);cdecl;
begin

  if EVENT_CLICK then
     writeln('Click Event Sent By the button');
end;


var

 WindowTitle : pchar;
 ButtonLabel : pchar;
 WindowName : pchar;


begin
 ButtonLabel := 'Lazarus QT Engine';
 WindowName := 'window1';
 WindowTitle := 'Lazarus QT Application Engine';

 { initialize engine }
 IntSendMessage(MSG_CREATE_APPLICATION,'',nil,0);

 { create window and button }
 IntSendMessage(MSG_CREATE_WINDOW,'window1',nil,0);
 IntSendMessage(MSG_CREATE_BUTTON_WITH_LABEL,'button1',ButtonLabel,0);

 { reparent the button to the window }
 IntSendMessage(MSG_WIDGET_SET_PARENT,'button1',WindowName,0);

 { set window height and width }
 IntSendMessage(MSG_WIDGET_SET_HEIGHT,'window1',pinteger(400),0);
 IntSendMessage(MSG_WIDGET_SET_WIDTH,'window1',pinteger(400),0);

{ set the button height and width }
 IntSendMessage(MSG_WIDGET_SET_HEIGHT,'button1',pinteger(200),0);
 IntSendMessage(MSG_WIDGET_SET_WIDTH,'button1',pinteger(200),0);

{ set window caption }
 IntSendMessage(MSG_SET_WIDGET_CAPTION,'window1',WindowTitle,0);

{ show button and window }
 IntSendMessage(MSG_WIDGET_SHOW,'window1',nil,0);
 IntSendMessage(MSG_WIDGET_SHOW,'button1',nil,0);

{ set the main window to be the main widget controls destruction }
 IntSendMessage(MSG_APPLICATION_SET_MAIN_WIDGET,'window1',nil,0);

{ attach a event callback procedure to the button }
 AttachEventHandler('button1', at CallMe);

{ pass control to engine main run loop }
 IntSendMessage(MSG_RUN_MAIN_LOOP,'',nil,0);
end.




cya back to the code...

Cliff

-------------- next part --------------
A non-text attachment was scrubbed...
Name: jpg00000.jpg
Type: application/octet-stream
Size: 7349 bytes
Desc: "Qtengine.jpg"
Url : http://localhost/pipermail/lazarus/attachments/19991021/dbf0f5f0/jpg00000.obj


More information about the Lazarus mailing list