怎么响应动态生成的菜单的事件

飞驰的青蛙 2006-04-22 05:45:51
这是一个点播系统,根据电影的多少动态生成菜单,电影越多,菜单项就越多,菜单项的名字就是电影的名字,菜单是根据数据库中存储的电影的多少动态生成的。当点击一个菜单项时就播放相应的电影。菜单的动态生成我已经实现,我现在的问题是怎样能打开相应的电影,怎么响应动态生成的菜单的事件?应该怎么捕获信息?菜单项上能绑定数据吗?
...全文
201 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
makec 2006-08-03
  • 打赏
  • 举报
回复
MARK
starytx 2006-04-24
  • 打赏
  • 举报
回复
在OnCmdMsg()中加入以下代码。

WPARAM MenuId=GetCurrentMessage()->wParam; //获得当前被单击的菜单的ID号
if(MenuId>=10001) //在动态创建菜单时,ID不要和系统已使用的冲突,起一个和系统区别大的数,然后累加,比如我的这个就是以10001开始的,
{
if(MenuId==nID && nCode==CN_COMMAND)//菜单项被单击
{
CString strMenuName; //菜单名
菜单句柄.GetMenuString(MenuId,strMenuName,MF_STRING|MF_BYCOMMAND);
//获得菜单标题内容后,接下来自己写吧
}
}
飞驰的青蛙 2006-04-24
  • 打赏
  • 举报
回复
我的菜单的ID用的是电影在数据库中的ID号,WM_COMMAND消息或者OnCmdMsg()重载函数怎么用啊,怎么捕获是来自于动态菜单的ID号呢,如果菜单的ID号根现有的菜单的ID号发生冲突怎么办啊,这个问题可不好控制啊?另外我还有一个下载菜单,类似与点播菜单,怎么规划这个菜单项的ID号呢?两者都要捕获啊!
菜牛 2006-04-23
  • 打赏
  • 举报
回复
动态添加菜单项的时候需要指定ID,你只要将ID与电影对应好了即可,响应菜单消息可以在WM_COMMAND消息或者OnCmdMsg()重载函数中进行,判断进入的ID。注意这个ID不要和别的菜单、工具栏按钮搞混就行了。
snowbirdfly 2006-04-23
  • 打赏
  • 举报
回复
自己到WWW.codeproject.com/www.vckbase.com里面查找看看,应该有相关资料~~
飞驰的青蛙 2006-04-23
  • 打赏
  • 举报
回复
能不能给个例子,或者网址。我现在只会模仿。
starytx 2006-04-22
  • 打赏
  • 举报
回复
在OnCmdMsg里进行判断是不是点击了你动态创建的那些菜单,再读取各个菜单的标题,根据标题的不同来打开不同的电影

16,473

社区成员

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

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

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