把这个例子做一遍,你就明白了。 procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);var MyHitTest : THitTests; begin MyHitTest := TreeView1.GetHitTestInfoAt(X,Y); if htNowhere in MyHitTest then ListBox1.Items.Add('NoWhere'); if htOnItem in MyHitTest then ListBox1.Items.Add('OnItem'); if htOnButton in MyHitTest then ListBox1.Items.Add('OnButton'); if htOnIndent in MyHitTest then ListBox1.Items.Add('OnIndent'); if htOnLabel in MyHitTest then ListBox1.Items.Add('OnLabel'); if htOnRight in MyHitTest then ListBox1.Items.Add('OnRight');end; Delphi中的帮助。
假设item[0]是一个根结点以下代码试试就知道了 procedure TForm1.TreeView1Click(Sender: TObject); begin if treeview1.Items[0].Expanded then showmessage('expanded') else showmessage('11111111'); end;
procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);var
MyHitTest : THitTests;
begin
MyHitTest := TreeView1.GetHitTestInfoAt(X,Y);
if htNowhere in MyHitTest then
ListBox1.Items.Add('NoWhere');
if htOnItem in MyHitTest then
ListBox1.Items.Add('OnItem');
if htOnButton in MyHitTest then
ListBox1.Items.Add('OnButton');
if htOnIndent in MyHitTest then
ListBox1.Items.Add('OnIndent'); if htOnLabel in MyHitTest then
ListBox1.Items.Add('OnLabel');
if htOnRight in MyHitTest then
ListBox1.Items.Add('OnRight');end;
Delphi中的帮助。
TREEVIEW.ITEMS.SELECTEDINDEX
好像是这样,呵呵。有点忘了
不清楚,找帮助,输入GetNodeAt
假设item[0]是一个根结点以下代码试试就知道了
procedure TForm1.TreeView1Click(Sender: TObject);
begin
if treeview1.Items[0].Expanded then
showmessage('expanded')
else
showmessage('11111111');
end;
OnExpanding是点了‘+’后节点展开之前的事件