procedure TPopupMenu.Popup(X, Y: Integer);
 
 
这个点是相对桌面的而不是窗体的
 
GetCursorPos是鼠标的位置 鼠标动这个点就不一样
 
var
  p:TPoint;
begin
   GetCursorPos(p);
   PopupMenu1.Popup(p.x,p.Y);
end;
 
 
现在要取得 Button1的Left 和Bottom的值 菜单就在这个位置出现
 
procedure TForm1.Button1Click(Sender: TObject);
var
    p:TPoint;
begin

     p.X:=Button1.Left;
     p.y:=Button1.Top +Button1.Height;
     p:=Self.ClientToScreen(p);

     PopupMenu1.Popup(p.x,p.y);
end;
 
 
 
同样适用窗体的Show
 
 
function GetControlPos(frm:TForm;ctrl:TControl):TPoint;
var
    p:TPoint;
begin

     p.X:=ctrl.Left;
     p.y:=ctrl.Top +ctrl.Height;

     p:=frm.ClientToScreen(p);

     Result:=p;
end;

 
 
 
procedure TForm1.Button2Click(Sender: TObject);
var
    p:TPoint;
begin
    p:=GetDeskPos(Self,Button2);
    PopupMenu1.Popup(p.X,p.Y);
end;
 
 
 

最新文章

  1. Nginx配置SSL证书部署HTTPS网站
  2. gulp任务
  3. Beta阶段站立会议-02
  4. JQuery-事件(部分)
  5. Java [Leetcode 238]Product of Array Except Self
  6. Oracle AWR报告指标全解析-11011552
  7. Away3D 4.1.4 中实现骨骼绑定
  8. Unique Binary Search Tree
  9. 利用WSGI来部署你的网站
  10. ZOJ 3430 Detect the Virus(AC自动机)
  11. 【C语言】超大数乘法运算
  12. 【转】关于spring集合对象的补充
  13. V8编程入门
  14. bzoj 2186 [Sdoi2008]沙拉公主的困惑 欧拉函数
  15. 2018-2019-2 网络对抗技术 20165328 Exp6 信息收集与漏洞扫描
  16. CSS3_线性渐变_径向渐变----背景
  17. LG3369 普通平衡树
  18. Nginx 模块分类
  19. vs不自动退出控制台程序的办法
  20. g++编译

热门文章

  1. 如何打开和关闭Oracle Flashback
  2. [SharePoint 2010]关于基于声明(Claims)的用户认证模式
  3. Andorid-Fragment生命周期
  4. java文件过滤器
  5. linux-LINUX试题
  6. Druid连接池简单入门
  7. iOS开发相关图书推荐
  8. 微信公众平台开发(57)Emoji表情符号
  9. 在Ubuntu6.06 在搭建SVN服务器及在windows建立svn+ssh客户端 (续)
  10. java工程师的标准