如何让popup消失

i1573 2003-05-19 09:33:39
下面是当鼠标进入按钮HongBtMouse让popup出来
procedure TFrmModel.HongBtMouseEnter(Sender: TObject);
begin
hongpm.popup(mouse.CursorPos.X, mouse.CursorPos.Y);
end;
但我想在鼠标离开popup时,让popup消失,或是离开按钮时让popup消失
...全文
171 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
i1573 2003-05-22
  • 打赏
  • 举报
回复
在mousemove事件写入hongpm.popup(mouse.CursorPos.X, mouse.CursorPos.Y);
, 更本触发不了
flyfish99 2003-05-22
  • 打赏
  • 举报
回复
哎~~~~~~~~
我试了一下我的方法,也行不通~因为当menu显示以后,其他任何事件都触发不了~
楼主,我看你还是不要用popupmenu了~
自己做一个弹出窗体好一些,而且自己做一个也相当简单,也就是一个没有边框的小窗体上面放几个lable控件,写他的简单单机代码而已,相当简单的~
flyfish99 2003-05-21
  • 打赏
  • 举报
回复
to楼主:前些天好像也有人问这个问题,是不是就是你啊~

听了你的说法,也是存在一个问题~

我看你干脆这样干算了:

你只写button的mousemove事件就可以了~解决的办法就是:

当鼠标移动到button的边缘的时候,就认为鼠标已经移出button了~呵呵~怎么样?这样就可以了吧~

如果采纳我的方法,就记得给分哦~呵呵~
i1573 2003-05-21
  • 打赏
  • 举报
回复
up
swayi21 2003-05-20
  • 打赏
  • 举报
回复
PopMenue沒有一個方法控制隱藏,
而隻要單擊它自己的菜單項或其他控件它就不見了。
我曾在其他控件中樣試過調用,
TForm1.mnuExitClick(Self);
哎,也沒有效果。
i1573 2003-05-20
  • 打赏
  • 举报
回复
gz
cscer 2003-05-19
  • 打赏
  • 举报
回复
可以将别的控件的OnMouseMove也设置为FormMouseMove
i1573 2003-05-19
  • 打赏
  • 举报
回复
gz
i1573 2003-05-19
  • 打赏
  • 举报
回复
不是不行,当菜单出现时,把鼠标移到别的控件,所有mousemove事件都不会触发,除非单击别的控件
lincanwen 2003-05-19
  • 打赏
  • 举报
回复
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var R:TRect;
P:TPoint;
begin
R.Left:=button1.Left;
R.Right:=button1.Left + button1.Width;
R.Top:=button1.Top;
R.Bottom:=button1.Top + button1.Height;
if sender is tbutton then
begin
p.X:=button1.Left + X;
P.Y:=button1.Top + Y;
end
else
begin
p.X:=X;
P.Y:=Y;
end;
if PTinRect(R,P) then
caption:='1111' //改成你菜单的显示,visible:true
else
caption:='aaaa';//菜单消失。visble:false
end;
同时设置button1的onMouseMove为:FormMouseMove;
i1573 2003-05-19
  • 打赏
  • 举报
回复
问题是更本触发不了其它事件的ONMouseMove

5,391

社区成员

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

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