求助各位老师了,谢谢
procedure TForm2.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);var
TempNode:TTreeNode;
begin
TempNode := TreeView1.GetNodeAt(x,y);
if (TempNode<>nil) and (TempNode=TreeView1.Selected) then
begin if treeview1.Items[0].GetNext.items[0].Selected then
begin
mainmenu1.Items[1][0].Click
end;
end;
end;为什么提示 list index out of bounds (0)??
procedure TForm2.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);var
TempNode:TTreeNode;
begin
TempNode := TreeView1.GetNodeAt(x,y);
if (TempNode<>nil) and (TempNode=TreeView1.Selected) then
begin if treeview1.Items[0].GetNext.items[0].Selected then
begin
mainmenu1.Items[1][0].Click
end;
end;
end;为什么提示 list index out of bounds (0)??
解决方案 »
- delphi 7 中,panel 的color 在XP 和2000下显示的颜色不一样。其中,把XP的显示风格改为经典风格显示就正常了。请问是怎么一会事?
- 请问如何知道一个窗口有没有CREATE的呢?
- 想出国读研?哪位知道要先取得什么资格(或考试)吗?
- 在框体动态生成了一个按钮,如何用代码控制按钮的Anchors属性
- 急,初学者的苦脑:输入单个字符时不报错,两个以上包含一个非法字符时不报错,急救
- 关于通过串口接收下位机发送的含中文字符出现乱码的问题
- 大虾帮看下----------调用WORD的拼写检查代码在2010不能用了?
- 怎么将单字符串(string型)的类型转换为字符(char型)类型?
- 在运行一个DualListDlg,选择输出字段时,出现如下问题:
- 用ado连接orcale 数据库时怎么使它不出现密码输入框?(我已经选择了允许保存密码)
- Delphi2010如何绘制高斯函数?
- delphi 如何用DLL模式开发数据库应用程序,给个exe+dll+datamoudl操作数据库简单实例
Shift: TShiftState; X, Y: Integer);var
TempNode:TTreeNode;
begin
TempNode := TreeView1.GetNodeAt(x,y);
if (TempNode<>nil) and (TempNode=TreeView1.Selected) then
begin if treeview1.Items[0].GetNext.item[0].Selected then
begin
mainmenu1.Items[1][0].Click
end;
end;
end;
说明:
一、A树结构
挂号科室
内科
外科
眼科
医生办公
办公1
办公2
办公3
后台管理
后台1
后台2
后台3二、B树结构
挂号科室
内科
内科1
内科2
内科3
外科
眼科
医生办公
办公1
办公2
办公3
后台管理
后台1
后台2
后台3
三、分析1、treeview1.Items[0].GetNext=treeview1.Items[1] 对于A树就是“内科”节点
2、treeview1.Items[0].GetNext.item[0] 对于A树就是“内科”节点的第1个子节点,A树没有子节点,出现越界错误
3、对于B树 treeview1.Items[0].GetNext.item[0] 就是“内科”节点的第1个子节点:“内科1”,不会出现越界错误四、结论
treeview1.Items[0].GetNext.item[0]不是一个正确代码,正确代码不管树结构如何,都不会出现越界错误。