学习 TTreeView [14] - StateIndex(状态图标)、OverlayIndex(叠加图标)
2008-03-16 00:42
344 查看
先给 ImageList1 添加图标如下:
关于 OverlayIndex 的提示:
在给一个节点指定 OverlayIndex 以前, 需要先用 ImageList1.Overlay 指定可用的 OverlayIndex 号.
测试效果图:
关于 OverlayIndex 的提示:
在给一个节点指定 OverlayIndex 以前, 需要先用 ImageList1.Overlay 指定可用的 OverlayIndex 号.
测试效果图:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ImgList, StdCtrls, ExtCtrls; type TForm1 = class(TForm) TreeView1: TTreeView; ImageList1: TImageList; Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; Button1: TButton; procedure FormCreate(Sender: TObject); procedure Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure Edit2KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure TreeView1Change(Sender: TObject; Node: TTreeNode); procedure Button1Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var node: TTreeNode; begin {指定 ImageList} TreeView1.Images := ImageList1; TreeView1.StateImages := ImageList1; {设定 OverlayIndex, 最多 4 个} ImageList1.Overlay(3,0); {参数1是 ImageList 中的序号; 参数2是指定可选的 OverlayIndex} ImageList1.Overlay(4,1); ImageList1.Overlay(5,2); ImageList1.Overlay(6,3); Label1.Caption := 'StateIndex:'; Label2.Caption := 'OverlayIndex:'; Edit1.Text := '-1'; Edit2.Text := '-1'; Button1.Caption := '初始化'; {给 TreeView1 填充} with TreeView1 do begin Align := alLeft; Items.Add(nil, 'AAA'); Items.Add(nil, 'BBB'); Items.Add(nil, 'CCC'); Items.Add(nil, 'DDD'); Items.Add(nil, 'EEE'); Items.AddChild(Items[4], '111'); Items.AddChild(Items[4], '222'); Items.AddChild(Items[4], '333'); Items.AddChild(Items[4], '444'); end; {指定图标状态} for node in TreeView1.Items do begin node.ImageIndex := 0; {默认图标为第 0 个} node.SelectedIndex := 1; {选择图标为第 1 个} node.StateIndex := -1; {状态图标暂无} end; end; {Edit1 控制 StateIndex} procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); var c: Char; edit: TEdit; begin edit := TEdit(Sender); c := Chr(Key); if c in ['0'..'6'] then edit.Text := c else edit.Text := '-1'; {字符限制} TreeView1.Selected.StateIndex := StrToInt(edit.Text); {作用于 TreeView} end; {Edit2 控制 OverlayIndex} procedure TForm1.Edit2KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); var c: Char; edit: TEdit; begin edit := TEdit(Sender); c := Chr(Key); if c in ['0'..'3'] then edit.Text := c else edit.Text := '-1'; {字符限制} TreeView1.Selected.OverlayIndex := StrToInt(edit.Text); {作用于 TreeView} end; procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode); begin Edit1.Text := IntToStr(Node.StateIndex); Edit2.Text := IntToStr(Node.OverlayIndex); end; procedure TForm1.Button1Click(Sender: TObject); begin TreeView1.Items.Clear; FormCreate(nil); end; end.
相关文章推荐
- 学习 TTreeView [11] - Images、ImageIndex、SelectedIndex、StateImages、StateIndex
- Silverlight Telerik控件学习:TreeView数据绑定并初始化选中状态、PanelBar的Accordion效果、TabPanel、Frame基本使用
- python学习turtle(龟图标状态)
- openerp学习笔记 视图样式(表格行颜色、按钮,字段只读、隐藏,按钮状态、类型、图标、权限,group边距,聚合[合计、平均],样式)
- windows 图标叠加 IShellIconOverlayIdentifier
- WPF Treeview 学习 图标,checkbox,右键菜单
- [Qt学习]14 Qt状态机框架——进入和退出状态
- 【设计模式】学习笔记14:状态模式(State)
- WPF Treeview 学习 增加图标、checkbox和右键菜单(转载)
- [Q学习]14 Qt状态机框架——进入和退出状态2
- TreeView的CheckBoxs的第三种状态,怎么点击node前的“+”的时候图标不变
- [Q学习]14 Qt状态机框架——进入和退出状态3
- 【设计模式】学习笔记14:状态模式(State)
- NGUI 叠加一个Sprite简单实现图标被选中状态
- WPF——TaskBarIconOverlay(任务栏图标叠加)
- 【设计模式】学习笔记14:状态模式(State)
- 学习笔记14 Lucene.NET中Field.Index 和 Field.Store的几种属性的用法
- .Net 我的学习之路(五) --- Asp.Net 页面状态的实现原理
- [置顶] 唐宇迪博士视频课学习day_14
- 大学里关于Linux_Fedora14的一些命令的学习(更新)