vs2010中使用cmfctoolbarbutton怎么添加工具栏图标

关于CMFCToolBar工具栏显示的提示 如何去掉图标_百度知道
关于CMFCToolBar工具栏显示的提示 如何去掉图标
提问者采纳
n这个窗口\r&#92。\n上面是CMFCToolBar 和 CDialogBar &#92不知道你说的自定义对话框和下面给的窗口有啥关系;r\n这些类的使用;n下面左边是个CDockablePr\r&#92,下面右边是单文档视图&#92
其他类似问题
为您推荐:
工具栏的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁VS2010中新控件的编程------ MFC按钮 - CSDN博客
1) 按钮&&
在Page1中加入按钮资源,并加入按钮设置风格相关的选择框,在CMFCButton中可以设置按钮的图标、图标和文本的位置、信息提示等
m_bRightImage设置图标是否靠右;
m_bTopImage设置图标是否朝上;
m_nFlatStyle设置按钮的属性;
SetImage设置按钮上的图标,其中参数1为正常状态下的图标,参数2为鼠标置于其上的图标,参数3为禁止状态下的图标,如果设置为NULL则表示按钮上没有图标;
SetMouseCursor()设置位于按钮上的鼠标状态,
m_Button.SetMouseCursor(NULL);
m_Button.SetMouseCursorHand();
m_Button.SetMouseCursor(AfxGetApp()-&LoadCursor(IDC_CURSOR));
&&&&&&&&&&SizetoContent()使得按钮大小和其上的内容相一致
2) 单选按钮
在资源对话框中加入单选按钮,并定义变量为CMFCButton型,分别设置当前图标和Check图标
m_btnRadio1.m_nFlatStyle= CMFCButton::BUTTONSTYLE_SEMIFLAT;
&&&&&&&& &&m_btnRadio2.m_nFlatStyle= CMFCButton::BUTTONSTYLE_SEMIFLAT;
&&&&&&&& &m_btnRadio3.m_nFlatStyle =CMFCButton::BUTTONSTYLE_SEMIFLAT;
&&&&&&&& &m_btnRadio4.m_nFlatStyle =CMFCButton::BUTTONSTYLE_SEMIFLAT;
&&&&&&&& &m_btnRadio1.SetImage( IDB_RADIO_OFF);
&&&&&&&& &m_btnRadio2.SetImage( IDB_RADIO_OFF);
&&&&&&&& &m_btnRadio3.SetImage( IDB_RADIO_OFF);
&&&&&&&& &m_btnRadio4.SetImage( IDB_RADIO_OFF);
&&&&&&&& &m_btnRadio1.SetCheckedImage(IDB_RADIO_ON);
&&&&&&&& &m_btnRadio2.SetCheckedImage(IDB_RADIO_ON);
&&&&&&&& &m_btnRadio3.SetCheckedImage(IDB_RADIO_ON);
&&&&&&&& &m_btnRadio4.SetCheckedImage(IDB_RADIO_ON);
&&&&&&&& &m_btnRadio1.SizeToContent();
&&&&&&&& &m_btnRadio2.SizeToContent();
&&&&&&&& &m_btnRadio3.SizeToContent();
&&&&&&&& &m_btnRadio4.SizeToContent();
&&&&&&&& &m_btnRadio1.SetCheck(TRUE);
3) 复选按钮
在资源对话框中加入复选按钮,并定义变量为CMFCButton型,分别设置当前图标和Check图标。
&&&&&&&& m_CheckBut.SetImage(IDB_CHECKNO);
&&&&&&&& m_CheckBut.SetCheckedImage(IDB_CHECK);
&&&&&&&& m_CheckBut.m_nFlatStyle= CMFCButton::BUTTONSTYLE_SEMIFLAT;
&&&&&&&& m_CheckBut.SizeToContent();
4) Windows XP风格按钮
CMFCButton默认为XP类型的按钮,能够根据设定的风格显示相应界面的风格,也可去掉这样的风格,成为普通的按钮。
&&&&&&&& UpdateData();
&&&&&&&& CMFCButton::EnableWindowsTheming(m_XPStyle);
&&&&&&&& RedrawWindow();
5) 带菜单的按钮设计
在资源中加入加入按钮控件,并定义变量CMFCMenuButton类型,利用该类的成员函数加入相应的菜单资源,并设置属性
m_menu.LoadMenu(IDR_MENU1);
m_MenuBut.m_hMenu= m_menu.GetSubMenu(0)-&GetSafeHmenu();
m_MenuBut.SizeToContent();
m_MenuBut.m_bOSMenu= TRUE;
m_MenuBut.m_bRightArrow= TRUE;
m_MenuBut.m_bStayPressed = TRUE;
m_MenuBut.m_bDefaultClick= TRUE;
&&&&&&&& CMFCToolBar::AddToolBarForImageCollection(IDR_TOOLBAR_MENU_IMAGES);
按钮菜单的选择,判断选择的是那一个菜单
CStringstrI
&&&&&&&& switch(m_MenuBut.m_nMenuResult)
&&&&&&&& {
&&&&&&&& case ID_MENU_MENUITEM1:
&&&&&&&&&&&&&&&&&& strItem= _T(&Menu item1&);
&&&&&&&&&&&&&&&&&& break;
&&&&&&&& case ID_MENU_MENUITEM2:
&&&&&&&&&&&&&&&&&& strItem= _T(&Menu item2&);
&&&&&&&&&&&&&&&&&& break;
&&&&&&&& case ID_MENU_MENUITEM3:
&&&&&&&&&&&&&&&&&& strItem= _T(&Menu item3&);
&&&&&&&&&&&&&&&&&& break;
&&&&&&&& case ID_MENU_MENUITEM4:
&&&&&&&&&&&&&&&&&& strItem= _T(&Menu item4&);
&&&&&&&&&&&&&&&&&& break;
&&&&&&&& }
&&&&&&&& AfxMessageBox(strItem);
&& 有关各种按钮的控制界面如下:用心创造滤镜
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
注:&上面的修改会导致对话框刷新出现问题。所以,部分时候,我们需要自行调用RedrawWindow来强制重绘其他控件。其实,也可以不加这个函数,而是,在需要的时候,调用一下工具条的OnUpdateCmdUI即可。
然而,对于动态调整大小的对话框,这个方法会导致严重的界面刷新问题。此方法不是很好。
方法二:&SendMessageToDescendants(WM_IDLEUPDATECMDUI,&&(WPARAM)TRUE, 0, TRUE, TRUE);
为了更省事儿,我这样:
BOOL CSegDialogEx::ContinueModal(){ &SendMessageToDescendants(WM_IDLEUPDATECMDUI,&&(WPARAM)TRUE, 0, TRUE, TRUE);
&return CDialogEx::ContinueModal();}
这样,即可不必使用m_Toolbar指针!但效果和方法(1)一样。然而,这里我们至少可以得出结论:
(a)我们可以手动调用:m_Toolbar-&OnUpdateCmdUI( pParent, ( WPARAM ) TRUE );
(b)我们也可以手动调用:SendMessageToDescendants(WM_IDLEUPDATECMDUI,&&(WPARAM)TRUE, 0, TRUE, TRUE);
显然,(b)是最好的方法,因为通用性更好。
由于ContinueModal的调用太过频繁了,所以,在ContinueModal里面修改,就会导致CPU耗用较高、界面刷新不正确等问题,
于是,我目前的解决方法是:手动调用(a)&。最后,附上源代码。
源代码下载:SegMFCToolBar.rar(2.21K)&&&
阅读(6920)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'VC 2010 + MFC : 在对话框里面加入工具条CMFCToolBar',
blogAbstract:'
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}CMFCToolBar 怎么设置图标的大小
[问题点数:100分,结帖人hanbingture]
CMFCToolBar 怎么设置图标的大小
[问题点数:100分,结帖人hanbingture]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2012年12月 总版技术专家分月排行榜第一2012年10月 总版技术专家分月排行榜第一2012年9月 总版技术专家分月排行榜第一2012年8月 总版技术专家分月排行榜第一
2012年11月 总版技术专家分月排行榜第三
2013年7月 VC/MFC大版内专家分月排行榜第三2011年12月 VC/MFC大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。VS2010 CMFCTOOLBAR更换TOOLBAR区别 工具栏图标美化必看 - 下载频道
- CSDN.NET
&&&&VS2010 CMFCTOOLBAR更换TOOLBAR区别 工具栏图标美化必看
VS2010 CMFCTOOLBAR更换TOOLBAR区别 工具栏图标美化必看
VS2010 CMFCTOOLBAR更换TOOLBAR
工具栏图标美化必看
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
开发技术下载排行

我要回帖

更多关于 vs2010 控件工具栏 的文章

 

随机推荐