O o*o Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-02 #3 我要用程序使它消失。 比如用户打开一个POPUPMENU后,在一定时间里没有点击菜单,就自动收起。
B buptwqs Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-02 #4 何必用popmenu,可以自己编写一个弹出对话框。
H hubdog Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-02 #5 WM_ENTERMENULOOP//menu进入showmodal循环 WM_EXITMENULOOP//离开循环 WM_INITMENU//初始化menu WM_INITMENUPOPUP//初始化popmenu 你的程序响应这几个消息,after menu init 记数,exitmenuloop 清零, timer检查记数,>n,destroy menu.
WM_ENTERMENULOOP//menu进入showmodal循环 WM_EXITMENULOOP//离开循环 WM_INITMENU//初始化menu WM_INITMENUPOPUP//初始化popmenu 你的程序响应这几个消息,after menu init 记数,exitmenuloop 清零, timer检查记数,>n,destroy menu.
H hubdog Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-02 #7 对了如果是自己写的程序,在popmenu的onpopup事件里记数,menuitem click 里清零 timer check count,if >n destroy menu.
H hubdog Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-02 #8 不行,popupmenu失去焦点就消失。所以可能应在在popmenu的onpopup事件里记数, 及记下位置,timer check count ,if >n then MenuItemFromPoint(previous point) if true then setfocus to form to make menu disappear;
不行,popupmenu失去焦点就消失。所以可能应在在popmenu的onpopup事件里记数, 及记下位置,timer check count ,if >n then MenuItemFromPoint(previous point) if true then setfocus to form to make menu disappear;
O o*o Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-02 #10 实际上 PostMessage(Handle,WM_LBUTTONDOWN,0,0); 就可让菜单消失。 但我更想知道POPUPMENU当前的状态。
O o*o Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-03 #11 解决了。 aBool:=True; TrackPopupMenu(PopupMenu1.Handle, ...); aBool:=False; 在其它事件里: if aBool then PostMessage(Handle,WM_LBUTTONDOWN,0,0); 这个问题竟然如此简单。没想到。 感谢各位:hubdog:,cAkk:
解决了。 aBool:=True; TrackPopupMenu(PopupMenu1.Handle, ...); aBool:=False; 在其它事件里: if aBool then PostMessage(Handle,WM_LBUTTONDOWN,0,0); 这个问题竟然如此简单。没想到。 感谢各位:hubdog:,cAkk: