From 3d203b58185f8d703d638fe762167291f3dc055c Mon Sep 17 00:00:00 2001 From: graemeg Date: Mon, 19 May 2008 15:13:26 +0000 Subject: * Merged my private graemeg branch changes (r752:r781) into trunk. These changes are required to change all componens from 1-based indexing to 0-based indexing. --- examples/gui/listbox/frm_main.pas | 160 +++++++++++++++++++++++++++++++++++ examples/gui/listbox/listboxtest.lpi | 58 +++++++++++++ examples/gui/listbox/listboxtest.lpr | 29 +++++++ 3 files changed, 247 insertions(+) create mode 100644 examples/gui/listbox/frm_main.pas create mode 100644 examples/gui/listbox/listboxtest.lpi create mode 100644 examples/gui/listbox/listboxtest.lpr (limited to 'examples/gui/listbox') diff --git a/examples/gui/listbox/frm_main.pas b/examples/gui/listbox/frm_main.pas new file mode 100644 index 00000000..9757bfc9 --- /dev/null +++ b/examples/gui/listbox/frm_main.pas @@ -0,0 +1,160 @@ +unit frm_main; + +{$mode objfpc}{$H+} + +interface + +uses + SysUtils, Classes, gfxbase, fpgfx, gui_edit, + gfx_widget, gui_form, gui_label, gui_button, + gui_listbox, gui_memo, gui_combobox, gui_basegrid, gui_grid, + gui_dialogs, gui_checkbox, gui_tree, gui_trackbar, + gui_progressbar, gui_radiobutton, gui_tab, gui_menu, + gui_panel, gui_popupcalendar, gui_gauge; + +type + + TMainForm = class(TfpgForm) + private + procedure cbHotTrackChanged(Sender: TObject); + procedure btnAdd1Clicked(Sender: TObject); + procedure btnFocusClicked(Sender: TObject); + procedure btnClearClicked(Sender: TObject); + procedure btnAdd10Clicked(Sender: TObject); + public + {@VFD_HEAD_BEGIN: MainForm} + lstName1: TfpgListBox; + btnAdd10: TfpgButton; + btnClear: TfpgButton; + btnFocus: TfpgButton; + btnAdd1: TfpgButton; + memName1: TfpgMemo; + cbHotTrack: TfpgCheckBox; + {@VFD_HEAD_END: MainForm} + procedure AfterCreate; override; + end; + +{@VFD_NEWFORM_DECL} + +implementation + +{@VFD_NEWFORM_IMPL} + +procedure TMainForm.cbHotTrackChanged(Sender: TObject); +begin + lstName1.HotTrack := cbHotTrack.Checked; +end; + +procedure TMainForm.btnAdd1Clicked(Sender: TObject); +begin + lstName1.Items.Add(Format('Item %2d', [lstName1.ItemCount])); +end; + +procedure TMainForm.btnFocusClicked(Sender: TObject); +begin + if lstName1.ItemCount > 1 then + lstName1.FocusItem := 2; +end; + +procedure TMainForm.btnClearClicked(Sender: TObject); +begin + lstName1.Items.Clear; +end; + +procedure TMainForm.btnAdd10Clicked(Sender: TObject); +var + i: integer; +begin + for i := 1 to 10 do + lstName1.Items.Add(Format('Item %2d', [lstName1.ItemCount])); +end; + +procedure TMainForm.AfterCreate; +begin + {@VFD_BODY_BEGIN: MainForm} + Name := 'MainForm'; + SetPosition(345, 220, 300, 270); + WindowTitle := 'ListBox test'; + WindowPosition := wpScreenCenter; + + lstName1 := TfpgListBox.Create(self); + with lstName1 do + begin + Name := 'lstName1'; + SetPosition(12, 12, 128, 168); + FontDesc := '#List'; + end; + + btnAdd10 := TfpgButton.Create(self); + with btnAdd10 do + begin + Name := 'btnAdd10'; + SetPosition(204, 28, 92, 23); + Text := 'Add 10 items'; + FontDesc := '#Label1'; + ImageName := ''; + TabOrder := 1; + OnClick := @btnAdd10Clicked; + end; + + btnClear := TfpgButton.Create(self); + with btnClear do + begin + Name := 'btnClear'; + SetPosition(204, 56, 92, 23); + Text := 'Clear Items'; + FontDesc := '#Label1'; + ImageName := ''; + TabOrder := 2; + OnClick := @btnClearClicked; + end; + + btnFocus := TfpgButton.Create(self); + with btnFocus do + begin + Name := 'btnFocus'; + SetPosition(204, 84, 92, 23); + Text := 'FocusItem = 2'; + FontDesc := '#Label1'; + ImageName := ''; + TabOrder := 3; + OnClick := @btnFocusClicked; + end; + + btnAdd1 := TfpgButton.Create(self); + with btnAdd1 do + begin + Name := 'btnAdd1'; + SetPosition(204, 112, 92, 23); + Text := 'Add 1 item'; + FontDesc := '#Label1'; + ImageName := ''; + TabOrder := 4; + OnClick := @btnAdd1Clicked; + end; + + memName1 := TfpgMemo.Create(self); + with memName1 do + begin + Name := 'memName1'; + SetPosition(12, 188, 280, 77); + FontDesc := '#Edit1'; + TabOrder := 5; + end; + + cbHotTrack := TfpgCheckBox.Create(self); + with cbHotTrack do + begin + Name := 'cbHotTrack'; + SetPosition(204, 140, 120, 19); + FontDesc := '#Label1'; + TabOrder := 6; + Text := 'Track Focus'; + OnChange := @cbHotTrackChanged; + end; + + {@VFD_BODY_END: MainForm} +end; + + +end. diff --git a/examples/gui/listbox/listboxtest.lpi b/examples/gui/listbox/listboxtest.lpi new file mode 100644 index 00000000..f80a70b0 --- /dev/null +++ b/examples/gui/listbox/listboxtest.lpi @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/gui/listbox/listboxtest.lpr b/examples/gui/listbox/listboxtest.lpr new file mode 100644 index 00000000..dd14a408 --- /dev/null +++ b/examples/gui/listbox/listboxtest.lpr @@ -0,0 +1,29 @@ +program listboxtest; + +{$mode objfpc}{$H+} + +uses + {$IFDEF UNIX}{$IFDEF UseCThreads} + cthreads, + {$ENDIF}{$ENDIF} + Classes, fpgfx, frm_main, fpgui_package; + +procedure MainProc; +var + frm: TMainForm; +begin + fpgApplication.Initialize; + frm := TMainForm.Create(nil); + try + frm.Show; + fpgApplication.Run; + finally + frm.Free; + end; +end; + +begin + MainProc; +end. + + -- cgit v1.2.3-70-g09d2