diff options
author | graemeg <graemeg@ae50a9b5-8222-0410-bf8d-8a13f76226bf> | 2008-02-13 20:20:32 +0000 |
---|---|---|
committer | graemeg <graemeg@ae50a9b5-8222-0410-bf8d-8a13f76226bf> | 2008-02-13 20:20:32 +0000 |
commit | 7d789a8862bd372d4a6a647cc75a95b7c95979cf (patch) | |
tree | 355cf930f911994b6ad655fafe1aebdc7a4e76ee /examples/gui/treeviewtest | |
parent | 6dccfb0375b69e2661174d0728165980b71706c2 (diff) | |
download | fpGUI-7d789a8862bd372d4a6a647cc75a95b7c95979cf.tar.xz |
* Treeview component now has support for node images
Diffstat (limited to 'examples/gui/treeviewtest')
-rw-r--r-- | examples/gui/treeviewtest/treeviewtest.lpr | 65 |
1 files changed, 57 insertions, 8 deletions
diff --git a/examples/gui/treeviewtest/treeviewtest.lpr b/examples/gui/treeviewtest/treeviewtest.lpr index 68fb9f91..f8343fc6 100644 --- a/examples/gui/treeviewtest/treeviewtest.lpr +++ b/examples/gui/treeviewtest/treeviewtest.lpr @@ -11,18 +11,39 @@ uses fpgfx, gui_form, gui_tree, - gfxbase; + gui_checkbox, + gfxbase, + gfx_imagelist; type + + { TMainForm } + TMainForm = class(TfpgForm) private tree: TfpgTreeView; + imagelist: TfpgImageList; + cbShowImages: TfpgCheckBox; + cbIndentNode: TfpgCheckBox; + procedure cbShowImagesChange(Sender: TObject); + procedure cbIndentNodeChange(Sender: TObject); public constructor Create(AOwner: TComponent); override; + destructor Destroy; override; end; { TMainForm } +procedure TMainForm.cbIndentNodeChange(Sender: TObject); +begin + tree.IndentNodeWithNoImage := cbIndentNode.Checked; +end; + +procedure TMainForm.cbShowImagesChange(Sender: TObject); +begin + tree.ShowImages := cbShowImages.Checked; +end; + constructor TMainForm.Create(AOwner: TComponent); var n: TfpgTreeNode; @@ -33,21 +54,32 @@ begin inherited Create(AOwner); WindowTitle := 'Treeview Test'; WindowPosition := wpUser; - SetPosition(100, 100, 300, 200); - + SetPosition(100, 100, 300, 230); + + // create a image list + imagelist := TfpgImageList.Create; + imagelist.AddItemFromFile('../../../images/folder_16.bmp', 0); + imagelist.AddItemFromFile('../../../images/menu_preferences_16.bmp', 1); + + // create a treeview tree := TfpgTreeView.Create(self); - tree.SetPosition(8, 8, Width-16, Height-16); + tree.SetPosition(8, 8, Width-16, 200-16); tree.Anchors := [anTop, anLeft, anRight, anBottom]; // tree.ShowColumns := True; // tree.TreeLineStyle := lsSolid; tree.ScrollWheelDelta := 30; + tree.ImageList := imagelist; + tree.ShowImages := True; n := tree.RootNode.AppendText('Node 1'); - n.AppendText('Node 1.1'); - n.AppendText('Node 1.2'); + n.ImageIndex := 0; + n.AppendText('Node 1.1').ImageIndex := 1; + n.AppendText('Node 1.2').ImageIndex := 1; n := tree.RootNode.AppendText('Node 2'); - n.AppendText('Node 2.1'); + n.ImageIndex := 0; + n.AppendText('Node 2.1').ImageIndex := 1; n := n.AppendText('Node 2.2 The quick brownfox jumps over the...'); + n.ImageIndex := 1; for i := 1 to 3 do begin s := Format('Node 2.2.%d', [i]); @@ -58,7 +90,7 @@ begin end; n.Parent.AppendText('Node 2.3'); tree.RootNode.FirstSubNode.Next.Collapse; - tree.RootNode.AppendText('Node 3'); + tree.RootNode.AppendText('Node 3').ImageIndex := 0; tree.Selection := n; // n := tree.RootNode.FindSubNode('Node 2.2.2', True); if Assigned(n2) then @@ -66,6 +98,23 @@ begin n2.AppendText('Child 1').AppendText('Child 2'); n2.Collapsed := False; end; + + // create a checkbox + cbShowImages := CreateCheckBox(self, 8, 204, 'Show images'); + cbShowImages.Checked := True; + cbShowImages.OnChange := @cbShowImagesChange; + + // create a checkbox + cbIndentNode := CreateCheckBox(self, 120, 204, 'Indent node with no image'); + cbIndentNode.Checked := True; + cbIndentNode.OnChange := @cbIndentNodeChange; +end; + +destructor TMainForm.Destroy; +begin + tree.ImageList := nil; + imagelist.Free; + inherited Destroy; end; |