关于popupmenu(50分)

  • 主题发起人 主题发起人 ryg
  • 开始时间 开始时间
R

ryg

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何用鼠标左键点出popupmenu?
(在不用其它控件的情况下,如lmd。)
 
在OnClick事件里这样写:
popupmenu1.Popup(x,y);
 
no ,cAkk

procedure TMainForm.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
APos: TPoint;
begin
APos:= ClientToScreen(Point(x,y));
if Button = mbLeft then PopupMenu.Popup(APos.X, APos.Y);
end;
 
呵呵, 都一样:-)
 
看来我来晚了。
 
to cytwon:

什么都一样?
ONCLICK哪来的X,Y。
 
o*o: GetCursorPos就可以得到了呀!
不过,当然你写的更正规一点,我只不过是为了抢分,随手写的,相信
ryg能够看得懂原理就行了.
 
应该是onMouseUp事件中判断吧。
 
procedure TForm1.Button1Click(Sender: TObject);
var
pt: TPoint;
begin
getcursorpos(pt);
popupmenu1.popup(pt.x, pt.y);
end;

我也来抢分.
 
w.h,怎么刚活过来,就又开始抢分了。
 
在onclick过程中写的前提是不需要onClick...按钮?!
 
3h: 人家可没说是"按钮"哦!可能是image,label,panel....
 
本人的积分很少,cAkk,o*o,W.H.不要在意我只能拿出这么多分了。
 
多人接受答案了。
 
后退
顶部