diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/gui/treeviewtest/treeviewtest.lpi | 9 | ||||
-rw-r--r-- | examples/gui/treeviewtest/treeviewtest.lpr | 147 |
2 files changed, 111 insertions, 45 deletions
diff --git a/examples/gui/treeviewtest/treeviewtest.lpi b/examples/gui/treeviewtest/treeviewtest.lpi index 8941afce..5f459bb9 100644 --- a/examples/gui/treeviewtest/treeviewtest.lpi +++ b/examples/gui/treeviewtest/treeviewtest.lpi @@ -9,7 +9,6 @@ </Flags> <SessionStorage Value="InProjectDir"/> <MainUnit Value="0"/> - <IconPath Value="./"/> <TargetFileExt Value=""/> </General> <VersionInfo> @@ -41,8 +40,14 @@ </ProjectOptions> <CompilerOptions> <Version Value="8"/> + <Parsing> + <SyntaxOptions> + <CStyleOperator Value="False"/> + </SyntaxOptions> + </Parsing> <Other> - <CustomOptions Value="-FUunits"/> + <CustomOptions Value="-FUunits +"/> <CompilerPath Value="$(CompPath)"/> </Other> </CompilerOptions> diff --git a/examples/gui/treeviewtest/treeviewtest.lpr b/examples/gui/treeviewtest/treeviewtest.lpr index f47f8c37..9c57d5f9 100644 --- a/examples/gui/treeviewtest/treeviewtest.lpr +++ b/examples/gui/treeviewtest/treeviewtest.lpr @@ -13,23 +13,28 @@ uses fpg_form, fpg_tree, fpg_checkbox, + fpg_button, fpg_imagelist; type - { TMainForm } - TMainForm = class(TfpgForm) private + {@VFD_HEAD_BEGIN: MainForm} tree: TfpgTreeView; - imagelist: TfpgImageList; cbShowImages: TfpgCheckBox; cbIndentNode: TfpgCheckBox; + btnClear: TfpgButton; + {@VFD_HEAD_END: MainForm} + FImagelist: TfpgImageList; procedure cbShowImagesChange(Sender: TObject); procedure cbIndentNodeChange(Sender: TObject); + procedure btnClearClicked(Sender: TObject); + procedure PopulateTree; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; + procedure AfterCreate; override; end; { TMainForm } @@ -39,41 +44,28 @@ begin tree.IndentNodeWithNoImage := cbIndentNode.Checked; end; -procedure TMainForm.cbShowImagesChange(Sender: TObject); +procedure TMainForm.btnClearClicked(Sender: TObject); +var + n: TfpgTreeNode; begin - tree.ShowImages := cbShowImages.Checked; + if tree.Selection <> nil then + begin + n := tree.Selection; + tree.Selection.Clear; + tree.Invalidate; + tree.Selection := n; + end; end; -constructor TMainForm.Create(AOwner: TComponent); +procedure TMainForm.PopulateTree; var n: TfpgTreeNode; - n2: TfpgTreeNode; i: integer; - s: string; + n2: TfpgTreeNode; + s: TfpgString; begin - inherited Create(AOwner); - WindowTitle := 'Treeview Test'; - WindowPosition := wpUser; - SetPosition(100, 100, 300, 230); - - // create a image list - imagelist := TfpgImageList.Create; - imagelist.AddItemFromFile(SetDirSeparators('../../../images/folder_16.bmp'), 0); - imagelist.AddItemFromFile(SetDirSeparators('../../../images/menu_preferences_16.bmp'), 1); - imagelist.Item[1].Image.CreateMaskFromSample(0, 0); - imagelist.Item[1].Image.UpdateImage; - - // create a treeview - tree := TfpgTreeView.Create(self); - 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.ImageIndex := 0; n.AppendText('Node 1.1').ImageIndex := 1; n.AppendText('Node 1.2').ImageIndex := 1; @@ -100,27 +92,96 @@ 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; - cbShowImages.Anchors := [anLeft, anBottom]; - - // create a checkbox - cbIndentNode := CreateCheckBox(self, 120, 204, 'Indent node with no image'); - cbIndentNode.Checked := True; - cbIndentNode.OnChange := @cbIndentNodeChange; - cbIndentNode.Anchors := [anLeft, anBottom]; +end; + +procedure TMainForm.cbShowImagesChange(Sender: TObject); +begin + tree.ShowImages := cbShowImages.Checked; +end; + +constructor TMainForm.Create(AOwner: TComponent); +begin + inherited Create(AOwner); + // create a image list + FImagelist := TfpgImageList.Create; + FImagelist.AddItemFromFile(SetDirSeparators('../../../images/folder_16.bmp'), 0); + FImagelist.AddItemFromFile(SetDirSeparators('../../../images/menu_preferences_16.bmp'), 1); + FImagelist.Item[1].Image.CreateMaskFromSample(0, 0); + FImagelist.Item[1].Image.UpdateImage; end; destructor TMainForm.Destroy; begin tree.ImageList := nil; - imagelist.Free; + FImagelist.Free; inherited Destroy; end; +procedure TMainForm.AfterCreate; +begin + inherited AfterCreate; + {@VFD_BODY_BEGIN: MainForm} + Name := 'MainForm'; + SetPosition(294, 174, 300, 250); + WindowTitle := 'Treeview Test'; + WindowPosition := wpScreenCenter; + + tree := TfpgTreeView.Create(self); + with tree do + begin + Name := 'tree'; + SetPosition(8, 8, 284, 184); + Anchors := [anLeft,anRight,anTop,anBottom]; + FontDesc := '#Label1'; + ScrollWheelDelta := 30; + ShowImages := True; + ImageList := FImagelist; + end; + + cbShowImages := TfpgCheckBox.Create(self); + with cbShowImages do + begin + Name := 'cbShowImages'; + SetPosition(8, 200, 109, 20); + Anchors := [anLeft,anBottom]; + Checked := True; + FontDesc := '#Label1'; + TabOrder := 1; + Text := 'Show images'; + OnChange := @cbShowImagesChange; + end; + + cbIndentNode := TfpgCheckBox.Create(self); + with cbIndentNode do + begin + Name := 'cbIndentNode'; + SetPosition(120, 200, 179, 20); + Anchors := [anLeft,anBottom]; + Checked := True; + FontDesc := '#Label1'; + TabOrder := 2; + Text := 'Indent node with no image'; + OnChange := @cbIndentNodeChange; + end; + + btnClear := TfpgButton.Create(self); + with btnClear do + begin + Name := 'btnClear'; + SetPosition(8, 222, 144, 23); + Text := 'Clear Selected Node'; + FontDesc := '#Label1'; + Hint := ''; + ImageName := ''; + TabOrder := 3; + OnClick := @btnClearClicked; + end; + + {@VFD_BODY_END: MainForm} + + PopulateTree; +end; + procedure MainProc; var |