弹出菜单如何关闭(急急急)

看海听风 2005-11-02 09:50:02
公司做一个用户操作记录与回放的程序,其中对于菜单的操作回放始终有问题。当用TrackPopMenu()显示一个菜单以后,再用这个函数显示别的菜单就会没有反应,后一个菜单显示不出来,前一个菜单也不关闭。找遍了MSDN也没有发现CMenu类有关闭弹出菜单的函数,请教高手这是怎么回事,如何解决?急急急,再不解决老板要骂人了!
...全文
353 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
缘之一念 2005-11-13
  • 打赏
  • 举报
回复
用这个试试;
this->SetForgroundWindow();
显示你的菜单;
this->PostMessage(WM_NULL,0,0);
alen_ghl 2005-11-07
  • 打赏
  • 举报
回复
我的程序也有这个问题,是托盘区域的菜单
鼠标单击菜单以外的区域,弹出菜单也不消失,非得我点菜单上有个退出项或者别的操作
我这个SendMessage(WM_CANCELMODE);有效吗?但我不知道什么时候触发这个消息
goodheartppl 2005-11-07
  • 打赏
  • 举报
回复
--------------------------------------------------------------------------------

The WM_CANCELMODE message is sent to cancel certain modes, such as mouse capture. For example, the system sends this message to the active window when a dialog box or message box is displayed. Certain functions also send this message explicitly to the specified window regardless of whether it is the active window. For example, the EnableWindow function sends this message when disabling the specified window.

A window receives this message through its WindowProc function.


Syntax

WM_CANCELMODE

WPARAM wParam
LPARAM lParam;
Parameters

wParam
This parameter is not used.
lParam
This parameter is not used.
Return Value

If an application processes this message, it should return zero
bulepaper 2005-11-07
  • 打赏
  • 举报
回复
#32768 (PopupMenu)

菜单的类名
goodboyws 2005-11-03
  • 打赏
  • 举报
回复
响应WM_ENTERIDLE
void CMyDialog::OnEnterIdle(UINT nWhy, CWnd* pWho)
{
CDialof::OnEnterIdle(nWhy, pWho);

// TODO: Add your message handler code here
if (nWhy == MSGF_MENU)
{
xqk 2005-11-03
  • 打赏
  • 举报
回复
后面的代码就不再执行了 ? 不可能会吧,你跟踪确定吗?
看海听风 2005-11-03
  • 打赏
  • 举报
回复
to bulepape:如何发送ESC到菜单,好像只能发送给窗口把?
to goodboyws:可以关闭菜单了,只是我发现TrackPopMenu()后,后面的代码就不再执行了,有没有什么办法解决呢?
goodboyws 2005-11-02
  • 打赏
  • 举报
回复
发送WM_CANCELMODE消息
SendMessage(WM_CANCELMODE);
DrSmart 2005-11-02
  • 打赏
  • 举报
回复
恩,就是有些托盘程序也有同样问题
bulepaper 2005-11-02
  • 打赏
  • 举报
回复
发个 ESC 到菜单
应该可以吧
vcmute 2005-11-02
  • 打赏
  • 举报
回复
代码?

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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