vc的菜单,工具栏

本文介绍了如何在基于Dialog的VC程序中添加和管理菜单与工具栏。包括菜单资源的添加、动态生成菜单、工具栏的创建、添加工具提示等功能的实现方法和步骤。同时提到了消息处理机制,如WM_COMMAND和ON_UPDATE_COMMAND_UI宏的使用。
摘要由CSDN通过智能技术生成
首先,MFC会自动生成一些菜单,我们也可以在resource view中添加菜单。点击菜单栏属性--〉左上角校园最图形,可以将属性页显示。不会随着菜单项变动丢失。

ID号变灰的栏是不可以编辑的。是弹出的POPUP菜单。它不能被用来做响应。大写字母标示资源。IDI IDC  IDM分别表示不同的类型资源。

一个菜单项可以由CMAINFRAM CXXXVIEW  CXXApp  CXXDOC view类先对其响应,接着doc类对其进行响应,MAINFRAM第三个对其进行响应,第四个响应的APP类对其进行响应。

Afxmessagebox框架函数,可以响应非WND派生类的弹出的提示,而wnd派生的可以直接用MessageBox函数。

消息包括三类:WM_XXX标准消息,从cwnd派生的类可以接收也可以接受命令消息,WM_COMMANed命令消息(通过ID号标识识别,由cmdtarget派生的类可以接受,比如说文档类,CEIDTview类),第三类通知消息,有cmdtarget派生的类可以接收。APP和Doc类从CMDTARGET派生,所以不能接收标准消息。命令消息,头文件消息影射中添加原形,原文件中添加ON_COMMND宏完成影射,还有命令函数实现。命令函数由ONCOMMAND来处理,通知消息由ONNOTIFY来实现。命令消息到来时首先到达CMAINFRAM然后到送达CVIEW来处理,根据命令消息影射来处理,如果没有处理函数,交给DOC类,如果还没有处理函数,交还给VIEW类,------〉交还CMAINFRAM类,如果他也没有处理函数,交给APP类来处理。

标记菜单(打对购得):在CMAINFRAM中ONCREATE中创建。菜单属于框架窗口,获取菜单栏指针的方法为GetMenu,它返回一个返回CMenu的指针。但是其指向的对象是不一样的,一个为菜单,一个为子菜单。CMenu中的checkmenuitem方法可以设置标记。

缺省菜单项:SetDefaultItem。例如:GetMenu->GetSubMenu(0)->SetDefaultItem(1,True);索引访问时注意分隔栏也算一个索引值。缺省菜单,一个子菜单只能有一个项为缺省。

图形标记菜单:CMenu::SetMenuItemBitmaps来创建。首先创建图形,然后构造CMinFram 变量Cbitmap A,A.loadbitmap();然后

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值