- 21
- 0
- 约3.55千字
- 约 5页
- 2017-05-12 发布于河南
- 举报
c菜单
菜单
主要内容:
1.使用应用程序向导建立单文档应用程序框架
2.资源编辑器
编辑菜单、快捷键、快捷菜单、工具栏等资源。
3.类向导
处理菜单消息
4.菜单控制
一、利用AppWizard生成程序框架(Menu)
项目名称: Menu
选择单文档界面应用程序(Single document)
二、编辑资源
在资源浏览窗口双击Menu文件夹中ID为IDR_MAINFRAME菜单模板,用鼠标右击最后一列虚线矩形框,选择“Properties”菜单命令,在Caption编辑框中输入“画图”,并选中“Pop-up”项(默认),将在窗口菜单中添加新的“画图”菜单项。在该菜单组下继续添加下面两个菜单项:
ID Caption
ID_DRAW_RECT 矩形
ID_DRAW_CIRCLE 椭圆
如果现在编译运行,可以看到菜单命令是灰色的,是禁止使用。
三、加入菜单消息处理函数
启动类向导,在视类CMenuView单击消息处理标签,选择ID对象ID_DRAW_RECT,选择COMMAND菜单单击消息,单击“Add Function…”按钮命令,在弹出的对话框中可以修改菜单命令处理函数名字,在此单击“OK”按钮使用其默认的名字OnDrawRect。同样为ID_DRAW_CIRCLE菜单命令添加处理函数OnDrawCircle。函数具体代码如下:
void CMenuView::OnDrawRect()
{
// TODO: Add your command handler code here
CClientDC dc(this);
dc.Rectangle(50,50,200,150); //画矩形
}
void CMenuView::OnDrawCircle()
{
// TODO: Add your command handler code here
CClientDC dc(this);
dc.Ellipse(250,50,400,150); //画椭圆
}
现在可以编译运行,使用两个菜单命令。
四、菜单命令的更新控制
在画图菜单中再添加两个菜单项:
Caption ID
允许画矩形 ID_DRAW_ENABLE
禁止画矩形 ID_DRAW_DISABLE
在视类中添加一个记录当前“矩形”菜单项状态的变量
BOOL m_Enable;
在构造函数中初始化数据成员m_Enable
m_Enable =TRUE;
添加菜单响应函数
Class Name Objects IDs Messages
CMenuTestView ID_DRAW_ENABLE COMMAND
CMenuTestView ID_DRAW_ DISABLE COMMAND
CMenuTestView ID_DRAW_RECT UPDATE_COMMAND_UI
CMenuTestView ID_DRAW_ENABLE UPDATE_COMMAND_UI
CMenuTestView ID_DRAW_ DISABLE UPDATE_COMMAND_UI
菜单显示之前产生UPDATE_COMMAND_UI消息。
函数代码如下:
void CMenuView::OnUpdateDrawRect(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI-Enable(m_Enable);
}
void CMenuView::OnDrawEnable()
{
// TODO: Add your command handler code here
m_Enable = TRUE;
}
void CMenuView::OnUpdateDrawEnable(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI-SetCheck(m_Enable ? 1:0); //设置或取消标志
}
void CMenuView::OnDrawDisable()
{
// TODO: Add your command handler code here
m_Enable = FALSE;
}
void CMenuView::OnUpdateDrawDisable(CCmdU
您可能关注的文档
- 2014年9月考试可视化程序设计(VB)_A_卷.doc
- 2014年平安建校上报材料 文档.doc
- 2014设计题.doc
- 2015年高职楼宇项目国赛样题6.1发布.doc
- 2015春VB复习资料(2015-6-14).doc
- 2015秋九年级数学上册 21.2.2 公式法同步练习1 (新版)新人教版.doc
- 2016年全国硕士研究生入学统一考试英语二考研真题(完整版)凯程首发.doc
- 2016年职称计算机考试word2003模块软件.doc
- 2016考研英语二真题及详细解析.doc
- 2016聚焦中考数学(四川省)考点跟踪突破29图形的平移.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- ISO9001-2026质量管理体系标准版中英文及变化点解析.pdf VIP
- HGT 21629-1999 管架标准图(四).docx VIP
- 广州市民办学校申办审批表.doc VIP
- 无人机测绘技术与应用课件21--无人机驾驶员职业规划.ppt
- 2025年袋鼠数学LevelB试卷及答案.pdf VIP
- 《重症凝血病标准化评估中国专家共识(2025)》解读PPT课件.pptx VIP
- 《动物防疫法》培训解读课件.pptx VIP
- 无人机测绘技术与应用课件20--无人机飞行原理.ppt
- 先进控制技术及其应用.docx VIP
- 2025-2026学年济南版(2024)初中生物八年级上册《血液是物质运输的载体》教学设计.docx
原创力文档

文档评论(0)