惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
D
Docker
J
Java Code Geeks
腾讯CDC
Blog — PlanetScale
Blog — PlanetScale
G
Google Developers Blog
M
MIT News - Artificial intelligence
L
LangChain Blog
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
博客园 - Franky
GbyAI
GbyAI
Hugging Face - Blog
Hugging Face - Blog
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
N
Netflix TechBlog - Medium
B
Blog RSS Feed
Y
Y Combinator Blog
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News

博客园 - 晨光静默

centos 命令 curl用到的一些命令 nginx记录 html select qq作文 mfc开启控制台打印日记 angular单页应用点击button自动刷新页面 setTimeout中调用angular的作用域生效 mfc模态对话框和非模态对话框注意点 c/c++元转分的bug c/c++中的崩溃代码片段 查看网络端口连接情况 win7x64安装python运行报错:api-ms-win-crt-runtime-|1-1-0.dll SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes qt导入头文件报错 python记录 (转)Curl命令详解 开箱即用的clogger 异步重叠IO linux xshell 命令上传下载文件 png转CBitmap
mfc右键菜单(包括系统托盘菜单)弹窗后如何消失
晨光静默 · 2024-06-25 · via 博客园 - 晨光静默

试了可用的解决方案是:

1,在弹出菜单前先设置窗口最前

2,弹出菜单后,发送一个WM_NULL消失

示例如下:

CMenu *pPopup = m_AppMenu.GetSubMenu(0); //获取第一个弹出菜单,所以第一个菜单必须有子菜单
CPoint point1;
//GetCursorPos(&point1);//获取当前光标的位置,以便使得菜单可以跟随光标 
CRect rect; // 在悬浮窗左下沿弹菜单
::GetWindowRect(this->GetSafeHwnd(), &rect);
point1.x = rect.left;
point1.y = rect.bottom;

SetForegroundWindow(); //使托盘菜单一直处于前列窗口

pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point1.x, point1.y, this);//在指定位置显示弹出菜单

PostMessage(WM_NULL, 0, 0);//解决托盘菜单不消失