怎样得知POPUPMENU正在打开着

字体大小: 中小 标准 ->行高大小: 标准
即:如何得知某个POPUPMENU当前正显示在屏幕上?

WM_ENTERMENULOOP//menu进入showmodal循环

WM_EXITMENULOOP//离开循环

WM_INITMENU//初始化menu

WM_INITMENUPOPUP//初始化popmenu

你的程序响应这几个消息,after menu init 记数,exitmenuloop 清零,

timer检查记数,>n,destroy menu.

实际上 PostMessage(Handle,WM_LBUTTONDOWN,0,0); 就可让菜单消失。

但我更想知道POPUPMENU当前的状态。

解决了。

aBool:=True;

TrackPopupMenu(PopupMenu1.Handle, ...);

aBool:=False;

在其它事件里:

if aBool then PostMessage(Handle,WM_LBUTTONDOWN,0,0);

这个问题竟然如此简单。没想到。

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/68516.html