不知道是不是这样 procedure TForm1.Button1Click(Sender: TObject); begin if treeview1.items.count>0 then begin treeview1.Selected:=treeview1.Items.Item[treeview1.Items.count-1]; treeview1click(self); end; end;procedure TForm1.TreeView1Click(Sender: TObject); begin if treeview1.Selected=nil then exit; showmessage(treeview1.Selected.Text); end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if treeview1.items.count>0 then
begin
treeview1.Selected:=treeview1.Items.Item[treeview1.Items.count-1];
treeview1click(self);
end;
end;procedure TForm1.TreeView1Click(Sender: TObject);
begin
if treeview1.Selected=nil then exit;
showmessage(treeview1.Selected.Text);
end;
楼上的应该可以
你看看了!
我用的是Raize的checkTreeView控件,我想用程序自动点击该树的最后一个节点前面
的checkbox框,楼上的只能点击在最后一个节点的text上,而不是他的checkbox框上。怎么处理,
多谢!!
SetNodeChecked(Treeview1.Items[treeview1.Items.count-1],true);
取消选中
SetNodeChecked(Treeview1.Items[treeview1.Items.count-1],false);
我用的是Raize的checkTreeView控件,我想用程序自动点击该树的最后一个节点前面
的checkbox框,楼上的只能点击在最后一个节点的text上,而不是他的checkbox框上。怎么处理,
多谢!!
//选中一个节点
procedure SetNodeChecked(Node :TTreeNode; Checked :Boolean);
const
TVIS_CHECKED = $2000;
var
TvItem :TTVItem;
begin
FillChar(TvItem, SizeOf(TvItem), 0);
with TvItem do begin
hItem := Node.ItemId;
Mask := TVIF_STATE;
StateMask := TVIS_STATEIMAGEMASK;
if Checked then
TvItem.State :=TVIS_CHECKED
else
TvItem.State :=TVIS_CHECKED shr 1;
TreeView_SetItem(Node.TreeView.Handle, TvItem);
end;
end;
//感谢关注!
但是我要的是实现用鼠标模拟点击checkbox,因为我用的这个checktreeview,如果用
鼠标点击的话,整个树的check状态会跟着变化!
————
例如:如果某一个节点如果其所有的子节点被选中的话,他自己也被选中(勾号),
如果只是部分节点被选中,则阴影显示,我现在要实现的是模拟用鼠标点击一个节点,
让他的父节点跟着变化,谢谢!(我现在能实现选中子节点,但是其父节点我无法改变其
选中状态,因此,我想用模拟鼠标点击一下,它的父节点的状态就自动改变了)
RzCheckTree1.ChangeNodeCheckState( RzCheckTree1.Items[RzCheckTree1.Items.Count - 1],csChecked);
即可
则C被勾中,A为阴影表示。 如果用楼上的办法,则A也被勾中。怎么处理?
那位老大做过类似的权限管理,请赐教,多谢!!