diff options
author | graemeg <graemeg@ae50a9b5-8222-0410-bf8d-8a13f76226bf> | 2007-08-20 14:03:52 +0000 |
---|---|---|
committer | graemeg <graemeg@ae50a9b5-8222-0410-bf8d-8a13f76226bf> | 2007-08-20 14:03:52 +0000 |
commit | 42213545425979cb84f66fd78ecf2336c373d81f (patch) | |
tree | bd24021f87a48a48f0ac1c12532c9b1cabd4356d /examples/gui/menutest/menutest.lpr | |
parent | 52afba6368b154c50469439c55160f2f21c01c64 (diff) | |
download | fpGUI-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.lpr | 93 |
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. + + |