问一个超简单的,关于快捷菜单的问题。 如何在一个文本框中,点击鼠标的左键时,触发它的快捷菜单???设置 self.PopupMenu1.TrackButton:=tbLeftButton 时,好像对文本框无效哦。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 设置PopupMenu属性,只能使其在鼠标右键按下时弹出菜单(和通常情况一样)如果要在左键按下时弹出菜单,在它的OnMouseDown中写:procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);var CurPt: TPoint;begin if Button=mbLeft then//如果是左键 begin CurPt.X:=X; CurPt.Y:=Y; //窗口坐标转换为屏幕坐标 CurPt:=Edit1.ClientToScreen(CurPt); //弹出菜单,是以屏幕坐标为准的 PopupMenu1.Popup(CurPt.X,CurPt.Y); end;end; 如果用右键的话,你可以直接指定edit的popupmenu属性如果你用左键的话,你需要自己在edit1的onclick事情中写代码:opupmenu1.popup(edi1.left,edit1.top);// 当然,上面代码的写法定位是有问题的,你可以得到鼠标当前的位置再弹出快捷菜单 delphi读写word 文本转数字??请教 调查--桌面便签的小软件,大家关心什么功能? 请问,二进制文件怎么打开请大家帮忙 哪里有介绍PDA与电脑相联接的文章?(同时散一分) 第三方控件怎么用? 有关自动换行的问题 请教有关TTreeView的复制问题: Borland IDE 常用热键简介(转贴) 急!!!关于TRichEdit控件。 请问为什么我的DBEdit在进入时原来预先赋的值的没了? 请教一下,关于不同目录下的文件复制??
如果要在左键按下时弹出菜单,在它的OnMouseDown中写:
procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var CurPt: TPoint;
begin
if Button=mbLeft then//如果是左键
begin
CurPt.X:=X;
CurPt.Y:=Y;
//窗口坐标转换为屏幕坐标
CurPt:=Edit1.ClientToScreen(CurPt);
//弹出菜单,是以屏幕坐标为准的
PopupMenu1.Popup(CurPt.X,CurPt.Y);
end;
end;
如果你用左键的话,你需要自己在edit1的onclick事情中写代码:opupmenu1.popup(edi1.left,edit1.top);
// 当然,上面代码的写法定位是有问题的,你可以得到鼠标当前的位置再弹出快捷菜单