summaryrefslogtreecommitdiff
path: root/examples/gui/menutest/menutest.lpr
diff options
context:
space:
mode:
authorgraemeg <graemeg@ae50a9b5-8222-0410-bf8d-8a13f76226bf>2007-08-20 14:03:52 +0000
committergraemeg <graemeg@ae50a9b5-8222-0410-bf8d-8a13f76226bf>2007-08-20 14:03:52 +0000
commit42213545425979cb84f66fd78ecf2336c373d81f (patch)
treebd24021f87a48a48f0ac1c12532c9b1cabd4356d /examples/gui/menutest/menutest.lpr
parent52afba6368b154c50469439c55160f2f21c01c64 (diff)
downloadfpGUI-42213545425979cb84f66fd78ecf2336c373d81f.tar.xz
* Implemented a most of the Menu component. It's still
incomplete though and still needs testing under both platforms. * Added a new menu example project.
Diffstat (limited to 'examples/gui/menutest/menutest.lpr')
-rw-r--r--examples/gui/menutest/menutest.lpr93
1 files changed, 93 insertions, 0 deletions
diff --git a/examples/gui/menutest/menutest.lpr b/examples/gui/menutest/menutest.lpr
new file mode 100644
index 00000000..87283051
--- /dev/null
+++ b/examples/gui/menutest/menutest.lpr
@@ -0,0 +1,93 @@
+program menutest;
+
+{$mode objfpc}{$H+}
+
+uses
+ {$IFDEF UNIX}{$IFDEF UseCThreads}
+ cthreads,
+ {$ENDIF}{$ENDIF}
+ Classes,
+ fpgfx,
+ gui_form,
+ gui_menu;
+
+type
+ TMainForm = class(TfpgForm)
+ private
+ FMenuBar: TfpgMenuBar;
+ FFileSubMenu: TfpgPopupMenu;
+ FEditSubMenu: TfpgPopupMenu;
+ FEditSelectSubMenu: TfpgPopupMenu;
+ FHelpSubMenu: TfpgPopupMenu;
+ procedure miExitClicked(Sender: TObject);
+ public
+ constructor Create(AOwner: TComponent); override;
+ end;
+
+{ TMainForm }
+
+procedure TMainForm.miExitClicked(Sender: TObject);
+begin
+ Close;
+end;
+
+constructor TMainForm.Create(AOwner: TComponent);
+var
+ mi: TfpgMenuItem;
+begin
+ inherited Create(AOwner);
+ WindowTitle := 'Menu Test';
+ WindowPosition := wpUser;
+ SetPosition(100, 100, 300, 200);
+
+ // Create top level sub-menus
+ FFileSubMenu := TfpgPopupMenu.Create(self);
+ FFileSubMenu.AddMenuItem('&Open', 'Ctrl-O', nil);
+ FFileSubMenu.AddMenuItem('&Save', 'Ctrl-S', nil);
+ FFileSubMenu.AddMenuItem('S&ave As', 'Ctrl+Shift+S', nil);
+ FFileSubMenu.AddMenuItem('-', '', nil);
+ FFileSubMenu.AddMenuItem('Save && Reload', '', nil);
+ FFileSubMenu.AddMenuItem('-', '', nil);
+ FFileSubMenu.AddMenuItem('&Quit', 'Ctrl-Q', @miExitClicked);
+
+ FEditSubMenu := TfpgPopupMenu.Create(self);
+ FEditSubMenu.AddMenuItem('&Cut', 'Ctrl-X', nil);
+ FEditSubMenu.AddMenuItem('C&opy', 'Ctrl-C', nil);
+ FEditSubMenu.AddMenuItem('&Paste', 'Ctrl-V', nil);
+ FEditSubMenu.AddMenuItem('-', '', nil);
+ FEditSubMenu.AddMenuItem('&Spell check', 'F4', nil).Enabled := False;
+ FEditSelectSubMenu := TfpgPopupMenu.Create(self);
+ FEditSubMenu.AddMenuItem('Selec&t', '', nil).SubMenu := FEditSelectSubMenu;
+ FEditSelectSubMenu.AddMenuItem('Select All', '', nil);
+ FEditSelectSubMenu.AddMenuItem('Select Word', '', nil);
+ FEditSelectSubMenu.AddMenuItem('Select Line', '', nil);
+
+ FHelpSubMenu := TfpgPopupMenu.Create(self);
+ FHelpSubMenu.AddMenuItem('&About', 'F12', nil);
+
+ // Create main menu bar
+ FMenuBar := TfpgMenuBar.Create(self);
+ FMenuBar.SetPosition(0, 0, Width, 20);
+ FMenuBar.AddMenuItem('File', nil).SubMenu := FFileSubMenu;
+ FMenuBar.AddMenuItem('Edit', nil).SubMenu := FEditSubMenu;
+ FMenuBar.AddMenuItem('Windows', nil);
+ FMenuBar.AddMenuItem('Help', nil).SubMenu := FHelpSubMenu;
+
+end;
+
+
+procedure MainProc;
+var
+ frm: TMainForm;
+begin
+ fpgApplication.Initialize;
+ frm := TMainForm.Create(nil);
+ frm.Show;
+ fpgApplication.Run;
+end;
+
+begin
+ MainProc;
+end.
+
+