MFC动态切换工具栏

zhymail123 2011-04-08 09:18:27
我的界面很多,想通过选择不同的菜单时,对应选择不同的工具栏。

各位大侠,有没有什么好的方法。


路过的顶下。
...全文
144 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhymail123 2011-04-09
  • 打赏
  • 举报
回复
谢谢各位的提议,我还是按大家说的来做吧。


呵呵,谢谢啊。
csuyuanweiqingking 2011-04-08
  • 打赏
  • 举报
回复
可以尝试通过隐藏其他的工具栏 函数 ShowWindow(SW_HIDE)和 ShowWindow(SW_SHOW)
haogeai123 2011-04-08
  • 打赏
  • 举报
回复
也可以用DLL
Eleven 2011-04-08
  • 打赏
  • 举报
回复
CToolBar::LoadToolBar(IDR_TOOLBAR1);
zhymail123 2011-04-08
  • 打赏
  • 举报
回复
是通过工具条资源切换...

呵呵,上面打错了。
zhymail123 2011-04-08
  • 打赏
  • 举报
回复
我是想, 在创建了工具栏后,切换到不同的界面后,通过选择不同的菜单条资源,来切换工具栏,这又有什么好方法呢?
Dreadnought 2011-04-08
  • 打赏
  • 举报
回复
选择菜单显示对应工具栏,隐藏其他的应该可以吧
King_hhuang 2011-04-08
  • 打赏
  • 举报
回复
用ShowWindow(SW_HIDE)/ShowWindow(SW_SHOW);
很经典的MFC教程。 目 录 译者序 前言 第一部分 基础知识 第1章 窗口 2 1.1 窗口和API环境 2 1.1.1 三种类型窗口 2 1.1.2 客户区和非客户区 3 1.2 窗口和MFC环境 4 1.3 怎样应用MFC创建一个窗口 5 1.4 怎样使用MFC销毁一个窗口 9 1.4.1 捆绑到一个已有的窗口 9 1.4.2 窗口类 10 1.4.3 窗口进程 10 1.5 怎样使用MFC创建一个窗口类 11 1.5.1 使用AfxRegisterWndClass () 函数注册一个窗口类 11 1.5.2 使用AfxRegisterClass ()函数 创建一个窗口类 12 1.6 怎样销毁一个MFC窗口类 14 1.7 厂商安装的窗口类 14 1.8 其他类型窗口 15 1.9 桌面窗口 16 1.10 小结 16 第2章 类 18 2.1 基类 18 2.1.1 CObject 18 2.1.2 CCmdTarget 19 2.1.3 CWnd 19 2.2 应用程序、框架、文档和视图类 19 2.2.1 CWinApp(O/C/W) 20 2.2.2 CView (O/C/W) 21 2.3 其他用户界面类 22 2.3.1 通用控件类 23 2.3.2 菜单类 23 2.3.3 对话框类 24 2.3.4 控制条类 24 2.3.5 属性类 25 2.4 绘图类 25 2.4.1 设备环境类 25 2.4.2 图形对象类 25 2.5 文件类 26 2.6 数据库类 26 2.6.1 ODBC类 26 2.6.2 DAO类 27 2.7 数据集类 27 2.8 其他数据类 27 2.9 通信类 28 2.10 其他类 29 2.11 小结 31 第3章 消息处理 32 3.1 发送或寄送一个消息 32 3.1.1 发送一个消息 32 3.1.2 寄送一个消息 32 3.1.3 发送一个消息与寄送一个消息 的比较 32 3.2 怎样使用MFC发送一个消息 33 3.3 怎样用MFC寄送一个消息 33 3.4 三种类型的消息 34 3.4.1 窗口消息 34 3.4.2 命令消息 34 3.4.3 控件通知 34 3.5 MFC怎样接收一个寄送的消息 36 3.6 MFC怎样处理一个接收到的消息 36 3.7 处理用户界面的对象 44 3.8 创建自定义窗口消息 45 3.8.1 静态分配的窗口消息 45 3.8.2 动态分配的窗口消息 46 3.9 重定向消息 47 3.9.1 子分类和超分类 47 3.9.2 用MFC子分类窗口 48 3.9.3 重载OnCmdMsg ( ) 49 3.9.4 使用SetWindowsHookEx ( ) 49 3.9.5 使用SetCapture ( ) 49 3.9.6 专有的消息泵 50 3.10 小结 50 第4章 绘图 51 4.1 设备环境 51 4.2 在MFC环境中创建一个设备环境 52 4.2.1 屏幕 52 4.2.2 打印机 53 4.2.3 内存 54 4.2.4 信息 54 4.3 绘图例程 55 4.3.1 画点 55 4.3.2 画线 55 4.3.3 画形状 55 4.3.4 形状填充和翻转 55 4.3.5 滚动 56 4.3.6 绘制文本 56 4.3.7 绘制位图和图标 56 4.4 绘图属性 56 4.4.1 设备环境属性 57 4.4.2 画线属性 58 4.4.3 形状填充属性 58 4.4.4 文本绘制属性 58 4.4.5 映像模式 59 4.4.6 调色板属性 62 4.4.7 混合属性 62 4.4.8 剪裁属性 63 4.4.9 位图绘制属性 64 4.5 元文件和路径 65 4.5.1 元文件 65 4.5.2 路径 66 4.6 颜色和调色板 66 4.6.1 抖动色 67 4.6.2 未经抖动色 67 4.6.3 系统调色板 67 4.6.4 使用系统调色板 68 4.6.5 动画色 71 4.7 控制什么时候在哪里绘图 71 4.7.1 处理WM_PAINT 71 4.7.2 只绘制被无效化的区域 72 4.7.3
声明:占用各位1个资源分,大家可以在下载后评分,这样就不亏啦~~~多谢支持! 使用工具栏代替原窗口中的菜单(暂不对VB窗口提供支持)。 功能: 1、工具栏替代原来系统默认的菜单栏 2、菜单拥有阴影 3、菜单自绘,不是系统默认的样式 …… …… 使用方法: 编写代码的时候,把 MenuBar.lib 和 MenuBarFunction.h 文件放到代码目录,在需要使用该函数的代码文件头部,声明一下: #pragma comment(lib, "MenuBar.lib") #include "MenuBarFunction.h" 当然啦,也可以用显式声明的方法调用,详细的参数下面有说明,或者看看 MenuBarFunction.h 文件,里面都有注释的了。 所有功能均封装在一个标准DLL里面,导出函数体如下(详情可见 MenuBarFunction.h 文件): 1、BOOL WINAPI MenuBarCreate(HMENU, HWND) 功能:根据菜单句柄创建菜单栏 参数:HMENU-给定菜单句柄、HWND-主窗口句柄 返回:菜单是否创建成功 2、BOOL WINAPI MenuBarCreateByWindow(HWND) 功能:根据窗口中的菜单创建菜单栏 参数:HWND-主窗口句柄 返回:菜单栏是否创建成功 3、BOOL WINAPI MenuBarCreateByResource(UINT, HWND, HINSTANCE) 功能:根据资源文件中的菜单创建菜单栏 参数:UINT-菜单资源符号、HWND-主窗口句柄、HINSTANCE-拥有菜单资源的模块句柄(如为空,则在调用函数的程序中查找) 4、void WINAPI MenuBarDestroy() 功能:移除主窗口中的菜单栏 5、HBITMAP WINAPI MenuBarSetBKBitmap(HBITMAP, BOOL) 功能:设置菜单栏背景图片 参数:HBITMAP-位图句柄、BOOL-是否销毁旧有的位图 返回:旧有位图的句柄(如选择销毁旧有的位图或者函数调用失败,则返回NULL) 6、HMENU WINAPI MenuBarGetBarMenu() 功能:获取菜单栏中的菜单 返回:菜单栏中的菜单句柄 7、HBITMAP WINAPI MenuBarSetLogo(HBITMAP, BOOL) 功能:设置菜单栏右侧图片(类似于文件夹中的菜单栏右侧Logo,不过不是动画) 参数:HBITMAP-位图句柄(注意此位图最好固定尺寸为38*22)、BOOL-是否销毁旧有的位图 返回:旧有位图句柄(如选择销毁旧有的位图或者函数调用失败,则返回NULL) 注意:在不使用菜单栏的时候,请使用MenuBarDestroy()函数移除菜单栏,如果菜单栏是根据主窗口中的菜单创建,则菜单栏移除后将自动把菜单装回主窗口;如果菜单栏是根据资源文件创建,则移除时将自动销毁该菜单。但如果主窗口销毁的情况下,则可不必理会菜单栏是否移除。 因为要出差至外地,暂时没有时间对其进行改进,源代码迟1、2个月就会放出。如在使用过程中遇到什么问题,请发邮件到:SandrerEsa@yahoo.com.cn 下载的资源里有两个程序,一个是Win32、一个是MFC,Win32的程序支持的没那么好(主要表现在菜单阴影部分,在弹出菜单切换的时候会有右边边缘会有一点残影)

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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