我现在做一个小东西,做动态创建treeview,但是挂图标却不知该怎样下手
procedure TForm1.Button1Click(Sender: TObject);
var
a,a1,a2:ttreenode;
i,i_l,i_t:integer;
begin
ADOTable1.Open;
i_l:=-99;i_t:=-99;
for i:=0 to ADOTable1.RecordCount-1 do
begin
ctv1.Images:=ImageList1;
ctv1:=TTreeView.Create(form1);
ctv1.Name:='ctv'+IntToStr(ADOTable1.FieldValues['i_id']);
ctv1.Parent:=Form1;
a:=ctv1.Items.Add(nil,ADOTable1.FieldValues['c_name']);
a1:=ctv1.Items.Add(a,IntToStr(ADOTable1.FieldValues['i_int']));
a2:=ctv1.Items.Add(a1,ADOTable1.FieldValues['c_zt']);
ctv1.Left:=i_l+80;
ctv1.top:=i_t+100;
i_l:=ctv1.Left;
i_t:=ctv1.top-100;
ctv1.Width:=80;
ctv1.Height:=50;
ctv1.color:=$00C08080;
ctv1.OnClick:=TreeViewClick;
ADOTable1.Next;
end;
请问该怎么挂图标谢谢大侠们。
procedure TForm1.Button1Click(Sender: TObject);
var
a,a1,a2:ttreenode;
i,i_l,i_t:integer;
begin
ADOTable1.Open;
i_l:=-99;i_t:=-99;
for i:=0 to ADOTable1.RecordCount-1 do
begin
ctv1.Images:=ImageList1;
ctv1:=TTreeView.Create(form1);
ctv1.Name:='ctv'+IntToStr(ADOTable1.FieldValues['i_id']);
ctv1.Parent:=Form1;
a:=ctv1.Items.Add(nil,ADOTable1.FieldValues['c_name']);
a1:=ctv1.Items.Add(a,IntToStr(ADOTable1.FieldValues['i_int']));
a2:=ctv1.Items.Add(a1,ADOTable1.FieldValues['c_zt']);
ctv1.Left:=i_l+80;
ctv1.top:=i_t+100;
i_l:=ctv1.Left;
i_t:=ctv1.top-100;
ctv1.Width:=80;
ctv1.Height:=50;
ctv1.color:=$00C08080;
ctv1.OnClick:=TreeViewClick;
ADOTable1.Next;
end;
请问该怎么挂图标谢谢大侠们。
解决方案 »
- 请问关于DELPHI7.0中用idsmtp1发邮件的问题
- 一个有关类的问题请教大家
- 关于CORBA的小问题,各位大哥请帮忙!!!
- 转学delphi问题之一:如何实现tdbgrid组件的前几列固定不动?!即水平滚动条拖动时,前几个column不随滚动条滚动?
- 帮忙: 添加数据项,出现错误 :type mismatch in expression
- 裝兩個Win98(簡/繁体),用boot magic引導,怎樣安裝?????
- 继续为我的软件征求意见,特别欢迎有软件发布经验的朋友。
- 怎样把数据库的字段名称放入一个数组?
- Winsock相关问题
- 如何终止正在启动的应用程序?
- 两个小问题!!!在先等待!!!!
- 字符串问题
显示的时候只要去imagelist里的图标就可以了!
a1.imageIndex := 1;
a2.imageIndex := 2;
a.imageindex:=0;
a1.imageindex:=1;
a2.imageindex:=2;
当然首先的给treeview 关联一个imagelist
那分来吧
我是从数据库里提取数据。我把数据库里的一个字段分几种情况每种情况是一个图标
但是看我写的代码里提出的数据不对呀!!
procedure TForm1.Button1Click(Sender: TObject);
var
a,a1,a2:ttreenode;
i,i_l,i_t:integer;
begin
ADOTable1.Open;
i_l:=-99;i_t:=-99;
for i:=0 to ADOTable1.RecordCount-1 do
begin
ctv1:=TTreeView.Create(form1);
ctv1.Name:='ctv'+IntToStr(ADOTable1.FieldValues['i_id']);
ctv1.Parent:=Form1;
ctv1.Images:=ImageList1;
a:=ctv1.Items.Add(nil,ADOTable1.FieldValues['c_name']);
a1:=ctv1.Items.Add(a,IntToStr(ADOTable1.FieldValues['i_int']));
a2:=ctv1.Items.Add(a1,ADOTable1.FieldValues['c_zt']);
if ADOTable1.FieldValues['c_zt']='空闲' then
a.ImageIndex:=0;
if ADOTable1.FieldValues['c_zt']='使用' then
a.ImageIndex:=1;
if ADOTable1.FieldValues['c_zt']='点菜' then
a.ImageIndex:=2;
if ADOTable1.FieldValues['c_zt']='入住' then
a.ImageIndex:=3;
if ADOTable1.FieldValues['c_zt']='预订' then
a.ImageIndex:=4;
ctv1.Left:=i_l+80;
ctv1.top:=i_t+100;
i_l:=ctv1.Left;
i_t:=ctv1.top-100;
ctv1.Width:=80;
ctv1.Height:=80;
ctv1.color:=$00C08080;
ctv1.OnClick:=TreeViewClick;
ADOTable1.Next;
end;
end;
---------------------------------------
提出的什么数据不对呀?
有问题请发信息到我的E-mail:[email protected]
来信请把问题的网址粘贴上。
a,a1,a2:ttreenode;
i,i_l,i_t:integer;
ctv1 : TTreeView;
img : TImageList;
bmp : TBitmap;
strArr : Array of String;
begin
setLength(strArr,11);
for i := 0 to 10 do
begin
if i mod 2 = 0 then
strArr[i] := '空闲'
else if i mod 3 = 0 then
strArr[i] := '使用'
else if i mod 5 = 0 then
strArr[i] := '点菜'
else if i mod 7 = 0 then
strArr[i] := '入住'
else
StrArr[i] := '预订';
end;
i_l:=-99;i_t:=-99;
for i:= Low(StrArr) to High(StrArr) do
begin
ctv1:=TTreeView.Create(form1);
ctv1.Name:='ctv'+IntToStr(i);
ctv1.Parent:=Form1;
a:=ctv1.Items.Add(nil,StrArr[i]);
a1:=ctv1.Items.Add(a,StrArr[i]+'1');
a2:=ctv1.Items.Add(a1,StrArr[i]+'2');
if StrArr[i] ='空闲' then
begin
bmp := TBitmap.Create;
bmp.LoadFromFile('C:\Documents and Settings\www\桌面\11.bmp');
img := TImageList.Create(Owner);
img.InsertMasked(0,bmp,clYellow);
ctv1.Images:= img;
a.ImageIndex:=0;
bmp.Free;
end;
if StrArr[i]='使用' then
begin
bmp := TBitmap.Create;
bmp.LoadFromFile('C:\Documents and Settings\www\桌面\22.bmp');
img := TImageList.Create(Owner);
img.InsertMasked(0,bmp,clYellow);
ctv1.Images:= img;
a.ImageIndex:=0;
bmp.Free;
end;
if StrArr[i]='点菜' then
begin
bmp := TBitmap.Create;
bmp.LoadFromFile('C:\Documents and Settings\www\桌面\33.bmp');
img := TImageList.Create(Owner);
img.InsertMasked(0,bmp,clYellow);
ctv1.Images:= img;
a.ImageIndex:=0;
bmp.Free;
end;
if StrArr[i]='入住' then
begin
ctv1.Images := ImageList1;
a.ImageIndex:=3;
end;
if StrArr[i]='预订' then
a.ImageIndex:=4;
ctv1.Left:=i_l+80;
ctv1.top:=i_t+100;
i_l:=ctv1.Left;
i_t:=ctv1.top-100;
ctv1.Width:=80;
ctv1.Height:=80;
ctv1.color:=$00C08080;
// ctv1.Update;
// ctv1.OnClick:=TreeViewClick;
// ADOTable1.Next;
end;
end;不知道你的问题是不是这个,我随便改了点,因为没有数据库我就用了个数组替代!你把它改回原来的就可以了!