Choisir le mode Console Application


program SimpleQt; uses Qt, QForms, SysUtils; type TDummyClass = class procedure ButtonClicked; cdecl; end; var App : QApplicationH; // QApplication handle MainWnd : QWidgetH; // Main window handle Button : QWidgetH; // Button handle MainForm : TForm; // Main application form Caption : WideString; DummyClass : TDummyClass; ButtonHook : QButton_hookH; BtnClicked : TMethod; procedure TDummyClass.ButtonClicked; var Caption, Text, YesText, NoText : AnsiString; begin Caption := 'Close Application'; Text := 'Are you sure you want to quit?'; YesText := 'Yes'; NoText := 'No'; // creates messagebox if QMessageBox_query(@Caption, @Text, @YesText, @NoText, MainWnd, PChar('mb')) then QApplication_quit(App); end; begin DummyClass := TDummyClass.Create; // initializes application and stores handle in App Application.Initialize; App := Application.Handle; // creates main window MainForm := TForm.Create(nil); Caption := 'Minimum CLX Application'; MainWnd := MainForm.Handle; // set window caption and size QWidget_setCaption(MainWnd,@Caption); QWidget_setGeometry(MainWnd,100,100,200,100); // creates the button Caption := 'Close App'; Button := QPushButton_create(@Caption, MainWnd, PChar('Button')); // sets button size QWidget_setGeometry(Button,20,20,160,160); // creates the button hook ButtonHook := QButton_hook_create(Button); // convert the method to a TMethod QButton_clicked_Event(BtnClicked) := DummyClass.ButtonClicked; // link the method to the clicked event of the button QButton_hook_hook_clicked(ButtonHook, BtnClicked); // sets application main widget QApplication_setMainWidget(App,MainWnd); // shows widget and enters application loop QWidget_show(MainWnd); QApplication_exec(App); DummyClass.Free; end.