如何开发类似VS2005的工具栏按钮定制菜单

wonita 2007-07-05 11:01:05
VS2005的每个工具栏都有个定制工具栏按钮的弹出选择菜单,可以选择显示或隐藏该工具栏里的按钮;这个选择菜单是个特殊的弹出菜单:菜单显示后,用户可以多次点击某些菜单项;而不用像普通的弹出菜单,点击某一项后菜单就消失,需要重新点击弹出按钮来弹出菜单.
我怀疑,VS2005的这种弹出菜单,可能使用以下的技术实现:
1.不是使用普通的弹出菜单,而是使用比如dialog来模拟处理的;
2.使用普通的弹出菜单,并使用HOOK;对菜单的点击响应做特殊处理;

我在实现上,采用的是方法2.但是,点击某个菜单项后,这个菜单项的UI状态始终得不到更新;除非,把鼠标移动到其它菜单项.而且查了MSDN,可以发送WM_PAINT的重绘窗体;但是没有什么WM_XXX的消息用于重绘菜单;难道菜单重绘要使用某些work around的办法.请各位达人解惑!!
...全文
249 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wonita 2007-07-09
  • 打赏
  • 举报
回复
楼上说的是,哪个类的OnPaint?
小麻侬 2007-07-05
  • 打赏
  • 举报
回复
那就在OnPaint添加创建(显示)菜单的代码

15,979

社区成员

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

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