社区
界面
帖子详情
偶觉得挺难的一个右键菜单的问题,有兴趣的请看看
unicode
2006-06-04 01:28:34
有一个函数OnRButtonDown,用于弹出右键菜单,现在的问题是,在该函数调用还没有结束前,有什么简单的方法能判断用户有没有执行右键菜单里的功能?谢谢
...全文
310
13
打赏
收藏
偶觉得挺难的一个右键菜单的问题,有兴趣的请看看
有一个函数OnRButtonDown,用于弹出右键菜单,现在的问题是,在该函数调用还没有结束前,有什么简单的方法能判断用户有没有执行右键菜单里的功能?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
unicode
2006-06-06
打赏
举报
回复
to striking(硬撑者) :多谢了
目前我就是这样来调用的,不过我的消息流程很复杂,还是有点问题。
but anyway, thanks a lot.
striking
2006-06-05
打赏
举报
回复
unicode(衣不如新,人不如故)
你要根据返回值,判断返回的是菜单的哪个id, 然后相应调用函数。
如 CMenu * pSubmenu = menu.GetSubMenu(0);
int nRet = pSubmenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON|TPM_RETURNCMD,
point.x,point.y, this);
switch(nRet)
{
case ID_MENU1:
OnMenu1();
break;
default:
break;
}
miladuo
2006-06-05
打赏
举报
回复
设置一变量,执行过就将变量改变,在执行前判断该变量。
vcPlayer
2006-06-05
打赏
举报
回复
我观LZ的意思好像是一个菜单响应的问题啊!何不在MFC中直接映射消息就得了?非得搞一个“二传手”不可么?
ID of "Add" in pop-up-menu: POPMENU_ADD
In your application's framework, select "Class wizard"->"Message Map" page, choose
which class would translate the message, select POPMENU_ADD, double-
click "COMMAND", this will add OnPopmenuAdd() function in the class which you just
selected, put your code in this function.
unicode
2006-06-05
打赏
举报
回复
to striking(硬撑者):
加了参数TPM_RETURNCMD后,就不执行菜单功能了
striking
2006-06-04
打赏
举报
回复
If you specify TPM_RETURNCMD in the uFlags parameter, the return value is the menu-item identifier of the item that the user selected. If the user cancels the menu without making a selection, or if an error occurs, then the return value is zero.
striking
2006-06-04
打赏
举报
回复
弹出参数加上TPM_RETURNCMD, 如
CMenu * pSubmenu = menu.GetSubMenu(0);
int nRet = pSubmenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON|TPM_RETURNCMD,
point.x,point.y, this);
根据nRet判断是否有点击菜单,如果有点击菜单, nRet返回菜单的ID值
unicode
2006-06-04
打赏
举报
回复
楼上的理解错了,这个变量要求在进行功能函数前设好,如
CSampleView::OnRButtonDown()
{
.....
pMenu->TrackPopupMenu();
if( 用户点击执行了功能Add())
m_bFlag = true;
else
m_bFlag = false;
''''
}
CSampleView::Add()
{
if( m_bFlag)
.....
else
......
}
gudulyn
2006-06-04
打赏
举报
回复
定义一个标记
BOOL flag;
在菜单选项功能函数中:
flag = TRUE;
OnRButtonDown中在菜单没有弹出的地方flag = FALSE;
函数结束时判断flag 就可以了。
最简单的逻辑了。
superhero162
2006-06-04
打赏
举报
回复
用一个变量记录操作右键菜单的状态
unicode
2006-06-04
打赏
举报
回复
请问syy64(太平洋) ( ) 信誉:145 :
该怎么判断?我在OnRButtonDown里设置了一个变量,该变量会根据有没有执行菜单功能来相应设置,并且要在执行前设置好
syy64
2006-06-04
打赏
举报
回复
加一个BOOL类的变量判断就行。
lyl_rabbit
2006-06-04
打赏
举报
回复
弹出菜单后,程序会自动向下执行,与点击菜单并响应是两回事
QTreeWidget
右键
菜单
在QT界面编程中,QTreeWidget
右键
菜单
功能常需针对不同右击情况设置不同
菜单
,如根节点、孩子节点、有树无右击节点、无树时的
右键
菜单
,且点击
菜单
选项要有响应。本文给出解决方案,展示结果并提供含详细说明的工程代码。
修改win11
右键
菜单
、
右键
选项、还原win10
右键
菜单
本文介绍了如何在Win11中恢复Win10风格的
右键
菜单
,包括临时的Shift+
右键
快捷方式,以及使用命令行和注册表进行永久性修改的方法。提醒用户在操作前备份注册表以防止系统
问题
。
动手做
一个
vue
右键
菜单
本文介绍了
一个
Vue实现的
右键
菜单
组件,包括
菜单
列表、
菜单
项、图标等子组件的设计与实现细节。支持自定义主题、禁用选项及子
菜单
。
如何彻底消灭多余
右键
菜单
本文讲述了重装Windows系统后,多个软件在
右键
菜单
添加选项,导致
菜单
拥挤的
问题
。介绍了操作系统消息机制基础、
右键
菜单
与注册表的关系,还给出了通过注册表删除多余
右键
菜单
选项的步骤,最后提到解决浏览器主页被篡改的方法及软件开发的复杂性。
把 Windows Terminal 添加到
右键
菜单
本文介绍了如何将 Windows Terminal 添加到
右键
菜单
,并提供了一种自定义的方法,包括添加图标和子项。此外,还讲解了如何屏蔽旧版的 PowerShell 和 WSL
右键
菜单
,以及解决新版本 Windows Terminal 默认添加的
右键
菜单
问题
。
界面
15,975
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章