c++菜单.docVIP

  • 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

文档评论(0)

1亿VIP精品文档

相关文档