treeView控件问题~~在线等 在treeView控件中,我右击其中的选项,弹出右键菜单,要求其右键菜单的焦点在选中的选项上,而不是只要我选中一个选项,在treeview控件中的其他位置右击都会弹出菜单怎么做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用GetNodeAt(x,y)判断当前鼠标位置是不是选择的项. 处理TREEVIEW的MOUSEDOWN,如果是右键,就先vartn:ttreenode;begintn:=treeview.selected.data;如果要想好的应用,应是用一个type=record id:integer; name:string;end;来实现才行menu.add(tn.name);popmenu.pop; 象楼上说的应该在mousedown事件中手工的显示popmenu 应该处理MouseUp事件,而不是MouseDown事件。你可以在资源管理器中试一试!!!然后通过GetNodeAt方法得到鼠标所在位置是否有节点,注意这里可能要进行坐标转换,如果有就使用PopupMenu的Pop方法显示弹出菜单!!! 好像在treeview控件中点击右键不能选中节点,所以要根据GetNodeAt(x,y)判断当前鼠标位置是不是选择的项。 procedure TUserManageForm.LstRegManagerMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);{ 在User TreeView上点右键时的处理过程 }var vNode: TTreeNode;begin if Button = mbRight then // 如果是右键 begin vNode := lstRegManager.GetNodeAt(x, y); // 在x,y的位置上找这个节点 if vNode <> nil then // 如果有选定的节点 begin vNode.Selected := True; pmUserManager.PopupFromCursorPos; // 弹出菜单 end; end;end; {LstRegManagerMouseDown} 怎么让一个控件一直拥有焦点 颜色转数字? 流怎么丢了??? ★★如何计算π的值并使其不受数据类型精度的限制?(请给出具体的程序源码) 我想让Word界面显示在自己制作的窗体上,但又不想用OLE容器控件或者WebBrowser,请问如何实现? 怎样使一个工程里两个页面上的RADIOGROUP显示相同 高手请进 中秋快乐!:)什么控件可以检测是否连到了internet? 谁有台湾,钱达智,delphi学习笔记电子版? 请问用ADO对access数据库进行操作应该如何insert记录? 给大家一个探讨技术的地方!!!!!!!!!!!!! ActiveX Form 控件问题
var
tn:ttreenode;
begin
tn:=treeview.selected.data;
如果要想好的应用,应是用一个
type=record
id:integer;
name:string;
end;来实现才行
menu.add(tn.name);
popmenu.pop;
应该在mousedown事件中手工的显示popmenu
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
{ 在User TreeView上点右键时的处理过程 }
var
vNode: TTreeNode;
begin
if Button = mbRight then // 如果是右键
begin
vNode := lstRegManager.GetNodeAt(x, y); // 在x,y的位置上找这个节点
if vNode <> nil then // 如果有选定的节点
begin
vNode.Selected := True;
pmUserManager.PopupFromCursorPos; // 弹出菜单
end;
end;
end; {LstRegManagerMouseDown}