TreeView的事件触发?(100分)

  • 主题发起人 主题发起人 真.浪人西林
  • 开始时间 开始时间

真.浪人西林

Unregistered / Unconfirmed
GUEST, unregistred user!
可以通过事件区分点击树的结点与左边的加号吗?或者通过其他方法?
 
树的结点=onclick
onexpand=点与左边的加号
 
OnChange :选择的节点更改事件
OnChanging :选择的节点更改时事件,在这里可以设置用户选择无效
OnCollapsed :点击含有字节点的节点左边减号后的事件,即节点折叠后的事件
OnCollapsing :同上,不过是折叠时的事件,可以设置不让用户折叠
OnExpanded :点击含有字节点的节点左边加号后的事件,即展开节点
OnExpanding :同上,不过是展开时发生,可以禁止展开节点
如果还不明白,请用程序试验之,否则说恐怕还是不明白。
 
procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
ClickInfo:THitTests;
begin
ClickInfo:=TreeView1.GetHitTestInfoAt(X,Y);
if htOnItem in ClickInfo then
ShowMessage('你刚才点了节点'+TreeView1.GetNodeAt(X,Y).Text)
else if htOnButton in ClickInfo then
ShowMessage('你刚才点了Button');
{else ...}
end;
 
又一个倒下了。
 
正如shuzi所说,TreeView.GetHitTestInfoAt对于控制树来说,是一个非常有用的函数,它
返回你鼠标选单击处的对应的树的具体信息。分别点树的不同位置,好好看看它的返回值,
就一切OK了!
 
后退
顶部