其实就是在我为SpeedButton设置了PopupMenu属性后,点右键时弹出菜单就弹出了。
但现在我想把他在点左键时实现通常情况下点右键的效果。不知该怎么做?我想到的办法之一是,但这里要定位SpeedButton1的绝对位置才行,不太方便:
procedure TfrmMain.SpeedButton1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
PopupMenu1.Popup(X+self.Left +SpeedButton1.Left,Y+self.top+SpeedButton1.Top);
end;或用:
Mouse_Event(MOUSEEVENTF_RIGHTDOWN,X,Y,0,0);
但这个函数好象X,Y要屏幕上的绝对位置,反正是不行。哪位指点下?
但现在我想把他在点左键时实现通常情况下点右键的效果。不知该怎么做?我想到的办法之一是,但这里要定位SpeedButton1的绝对位置才行,不太方便:
procedure TfrmMain.SpeedButton1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
PopupMenu1.Popup(X+self.Left +SpeedButton1.Left,Y+self.top+SpeedButton1.Top);
end;或用:
Mouse_Event(MOUSEEVENTF_RIGHTDOWN,X,Y,0,0);
但这个函数好象X,Y要屏幕上的绝对位置,反正是不行。哪位指点下?
解决方案 »
- 用代码设置快捷键问题?
- 老问题:删除临时表出错,请看正文,请高手帮忙解决,急啊,谢谢了!
- 急~~~~~~``请问日期加减的代码如何写啊????解决既揭贴
- 请教高手,如何使用winapi函数结束系统中的explorer进程,该问题在其他版块都无人能解决,
- 请问可以用table空间直接访问sql数据库吗
- 如何做一个如下的表格控件?
- 钩子问题!请问全局狗子里面如何判断键盘鼠标不动,怎样给主程序发送消息!
- 在键盘钩子的回调函数里能否用keybd_event模拟键盘发送键盘消息给另一个程序(活动窗口)
- 关于函数Hook
- you can?
- 求带下拉箭头的按钮.
- [新手问题]请问DELPHI里哪个是报表式的列表控件,具体在哪里?
var p:TPoint;
begin
GetCursorPos(p);
PopupMenu1.Popup(p.X,p.Y);
end;
Shift: TShiftState; X, Y: Integer);
var
aPoint: TPoint;
begin
aPoint.X := X;
aPoint.Y := Y;
aPoint := Button1.ClientToScreen(aPoint);
PopupMenu1.Popup(aPoint.X, aPoint.Y);
end;