菜鸟问题:如何在右键打开PopupMenu前,自动用左键选中item

windvalley 2003-04-15 05:28:03
当鼠标右键在ListBox和TreeView中点击时,如何设置先执行选中item的操作,然后再弹出菜单,说的简单点就是,如何用右键选中item?
谢谢!
...全文
111 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
findcsdn 2003-04-16
  • 打赏
  • 举报
回复

procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if mbRight = Button then
begin
TreeView1.Perform(wm_Lbuttondown, 0, (y shl 16) + x)

end;
end;
windvalley 2003-04-15
  • 打赏
  • 举报
回复
这个办法好像不是很好吧

这样做只是手动的把menu 弹出来,而item 并没有选中
TreeView1.Selected 仍然是 nil

我需要的是先选中,然后弹出菜单
findcsdn 2003-04-15
  • 打赏
  • 举报
回复
procedure TEMapTree.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
Pt: TPoint;
begin
if mbRight = Button then
begin
if PopupMenu.Items.Find(Tree_RButtonSelect).Checked then
Perform(wm_Lbuttondown, 0, (y shl 16) + x);
Pt := ClientToScreen(Point(X,Y));
PopupMenu.Popup(Pt.X,Pt.Y);
end;
inherited;
end;

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧