大家好!问一个按钮弹出菜单的简单问题

winsock2000 2002-10-28 12:22:56
大家好问一关于点击按钮弹出菜单的简单问题。
当我点击按钮,在按钮旁边就弹出一个popup菜单!可问题就是如果我的按钮是在panel面板上的,弹出的菜单没有在按钮旁边,跑到了很远的地方,改如何改呢?
为什么我把form1.left换成是panel也不行呢?
大家帮我看看!
procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (Button = mbLeft) then //点击鼠标弹出popup菜单?
PopupMenu1.Popup(x + Form1.Left + Button1.Left,
y + Form1.Top + Button1.Top + Button1.Height);
...全文
19 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
artman 2002-10-28
  • 打赏
  • 举报
回复
其实你挪一下Panel1就看出位置差在哪了!
artman 2002-10-28
  • 打赏
  • 举报
回复
其实你挪一下Panel1就看出位置差在哪了!
winsock2000 2002-10-28
  • 打赏
  • 举报
回复
谢谢artman了,我试了很久,没想到你一下就好了,我不知道原来还可以这样写呀!在次感谢!
artman 2002-10-28
  • 打赏
  • 举报
回复
if (Button = mbLeft) then //点击鼠标弹出popup菜单?
PopupMenu1.Popup(x + Form1.Left + Panel1.Left + Button1.Left,
y + Form1.Top + Button1.Top + Panel1.Top + Button1.Height);
winsock2000 2002-10-28
  • 打赏
  • 举报
回复
不行呀!我试了一下!都不知道为什么button放在panel上,就不行了
artman 2002-10-28
  • 打赏
  • 举报
回复
将Form1.Left,Form1.Top去掉:
if (Button = mbLeft) then //点击鼠标弹出popup菜单?
PopupMenu1.Popup(x + Button1.Left,
y + Button1.Top + Button1.Height);

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧