procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
vTreeNode: TTreeNode;
begin
if Button <> mbRight then Exit;
vTreeNode := TTreeView(Sender).GetNodeAt(X, Y);
if not Assigned(vTreeNode) then Exit;
Caption := '你说的是' + vTreeNode.Text;
end;
Shift: TShiftState; X, Y: Integer);
var
vTreeNode: TTreeNode;
begin
if Button <> mbRight then Exit;
vTreeNode := TTreeView(Sender).GetNodeAt(X, Y);
if not Assigned(vTreeNode) then Exit;
Caption := '你说的是' + vTreeNode.Text;
end;
解决方案 »
- 50分求助!sql 语句中做除法,若分母为零该如何处理
- 多了一个三角,散分
- 很着急啊.程序发布以后程序运行报MSADO15.DLL错误,请教大家?操作系统是XP,数据库是MSDE2000
- 在有源代码下,怎么判断使用的是什么数据库
- 看到一个程序的图标是动画,不知道是怎么实现的,是不是用....
- 关于输入的问题!
- 为啥delphi写的project1.exe怎么300多k,能不能再小一些!
- 用DELPHI生成创建表的SQL语句 ???
- 6.8日结婚,高兴散分,来着有份。
- python
- 怎样知道IE拖出的链接落在Delphi的窗体上?
- 寻找Delphi安装制作工具,谁有好的,介绍几个,谢谢拉。。。。
tree.selected.AbsoluteIndex;
还有就是每一个节点,有一个DATA
这个DATA可以是一个你自己定义的类型
你可以在这里给你自己一个标记
type
PMyRec = ^TMyRec;
TMyRec = record
FName: string;
LName: string;
end;
procedure TForm1.Button1Click(Sender: TObject);var
MyRecPtr: PMyRec;
TreeViewIndex: LongInt;
begin
New(MyRecPtr);
MyRecPtr^.FName := Edit1.Text;
MyRecPtr^.LName := Edit2.Text;
TreeViewIndex := StrToInt(Edit3.Text);
with TreeView1 do
begin
if Items.Count = 0 then
Items.AddObject(nil, 'Item' + IntToStr(TreeViewIndex), MyRecPtr)
else if (TreeViewIndex < Items.Count) and (TreeViewIndex >= 0) then Items.AddObject(Items[TreeViewIndex], 'Item' + IntToStr(TreeViewIndex), MyRecPtr);
end;
end;************
* 努力学习 *
* 全为 *
*¥人民币¥*
************
PMyRec(TreeView1.Selected.Data)^.LName;
的意义了
procedure TForm1.Button2Click(Sender: TObject);begin
Label1.Caption := PMyRec(TreeView1.Selected.Data)^.FName + ' ' +
PMyRec(TreeView1.Selected.Data)^.LName;
end;************
* 努力学习 *
* 全为 *
*¥人民币¥*
************
//实现鼠标右键选中结点
procedure ChangeSelectNode(vTree:TTreeView;X,Y:integer;Button: TMouseButton);
var
anode:TTreeNode;
begin
if button = mbright then {是否按了右键}
begin
anode := vTree.GetNodeAt(X,Y); {取x,y坐标下的结点}
if anode<>nil then
begin
anode.Selected :=true; {设置点中结点为选中}
vTree.Selected:= aNode;
end;
end;
end; 在onMouseDown事件下加上如下代码
.....
if Button = mbRight then
begin
//更新树的焦点
ChangeSelectNode(TreeView1,X,Y,Button);
//更新用户信息
TreeView1Click(Sender);
.......
就是这样