PopupMenu1的焦点问题 ( 积分: 20 )

  • 主题发起人 主题发起人 fuxin198311
  • 开始时间 开始时间
F

fuxin198311

Unregistered / Unconfirmed
GUEST, unregistred user!
就是想实现当点按钮时 菜单就显示在按钮的左下角或是右下角
procedure Tdy_price_label.SpeedButton6MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var P:TPoint;
begin
p.y:=p.Y+SpeedButton6.top+11;
p.x:=p.X+SpeedButton6.Left-24;
PopupMenu1.Popup(p.x,p.y);
end;
这段代码 菜单显示在屏幕的最下角去了
而下面的代码就是当鼠标的焦点改变时 那么菜单的位置也变了
procedure Tdy_price_label.SpeedButton6Click(Sender: TObject);
var point:Tpoint;
begin
GetCursorPos(Point);
PopupMenu1.Popup(Point.X-22,Point.Y+11);
end;
可是我想实现菜单的位置是不能改变的仍应在左下角或右下角 当鼠标焦点改变
 
procedure TForm1.SpeedButton1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
ptObject: TPoint;
begin
with TSpeedButton(Sender) do
ptObject := Parent.ClientToScreen(Point(Left,Top + Height));
PopupMenu1.Popup(ptObject.X,ptObject.Y);
end;
 
接受答案了.
 
后退
顶部