一般大家做Toolbar是怎么做的啊?我看了网上很多做法,都是那种TBBUTTON数组的,然后再根据此数组,一个一个按钮地往Toolbar中添加,连separate也要这样添加,我觉得这样好麻烦啊!!!关于按钮的图标好多是通过CImageList来做的。我是想简单点,直接在ResourceView中添加个工具条,然后在工具条上添加自己要的按钮,并画上相应的图标,设置好每个按钮的ID,不知这种做法可以否?不过我还有个问题,就是,我的工具条上有15个按钮,但其中2个按钮上的图标要变(如其中有个Play按钮,显示的图标是个三角,按过后就要求变成Stop按钮,这时图标变为一个黑方块,就像很多播放器那样),像这种情况,图标和提示文本的变化该如何实现啊? 不用CImageList能实现吗?(我试了一下,用CImageList的话,好象工具条上所有的图标都要先在CImageList中放好才行,好象又不能像我前面说的那样简单点实现了:(还有,如何使工具条上指定ID的按钮失效啊??
我简单见了个多文档的工程,在缺省的工具条上最后又加了两个按钮:ID_TB_B1, ID_TB_B2,
好象一定要给相应按钮添加了处理方法后,按钮才有效?!
我给添加的两个按钮的处理方法如下:
void CMainFrame::OnTbB1()
{
// TODO: Add your command handler code here
// m_wndToolBar.GetToolBarCtrl().EnableButton(ID_TB_B2,FALSE);
m_wndToolBar.GetToolBarCtrl().SetState(ID_TB_B2, FALSE);
AfxMessageBox("B1");
}void CMainFrame::OnTbB2()
{
// TODO: Add your command handler code here
AfxMessageBox("B2");
}我是想通过按了ID_TB_B1的按钮后使ID_TB_B2按钮失效,可是用EnableButton(ID_TB_B2,FALSE)发现不行啊??!!OnTbB2()还是能响应啊!!还有工具条按钮的State属性,有TBSTATE_ENABLED值,但好象没有一个相应的Disable值啊?!!如何通过SetState(ID_TB_B2, FALSE)使了一下,好象还是不能使ID_TB_B2按钮失效啊!是工具条上指定的按钮失效,各位是如何做的啊?
我简单见了个多文档的工程,在缺省的工具条上最后又加了两个按钮:ID_TB_B1, ID_TB_B2,
好象一定要给相应按钮添加了处理方法后,按钮才有效?!
我给添加的两个按钮的处理方法如下:
void CMainFrame::OnTbB1()
{
// TODO: Add your command handler code here
// m_wndToolBar.GetToolBarCtrl().EnableButton(ID_TB_B2,FALSE);
m_wndToolBar.GetToolBarCtrl().SetState(ID_TB_B2, FALSE);
AfxMessageBox("B1");
}void CMainFrame::OnTbB2()
{
// TODO: Add your command handler code here
AfxMessageBox("B2");
}我是想通过按了ID_TB_B1的按钮后使ID_TB_B2按钮失效,可是用EnableButton(ID_TB_B2,FALSE)发现不行啊??!!OnTbB2()还是能响应啊!!还有工具条按钮的State属性,有TBSTATE_ENABLED值,但好象没有一个相应的Disable值啊?!!如何通过SetState(ID_TB_B2, FALSE)使了一下,好象还是不能使ID_TB_B2按钮失效啊!是工具条上指定的按钮失效,各位是如何做的啊?
解决方案 »
- 烦烦烦,COleDateTime::SetTime在debug时出错release时就没错
- net-snmp通过mib2c生成.c和.h文件的步骤
- 修改IE主页
- 如何获取局域网的数据传输率
- 请教,关于透明位图的问题,在线等待
- 做课程设计 遇到问题 急!!!!!!!!
- AfxGetMainWnd()是什么意思?
- 这次真的疯了
- 用ADO连接数据库,为什么打开记录集时用SELECT语句有问题,高手请指教,急
- 谁能帮我看看~~~~~~mfc的listcontrol控件更新和删除sql server数据库的问题
- 兄弟们,过两天我要去一家公司面试VC开发工程师,请问各位老大,VC面试一般都是什么内容,谢谢告知,UP也有分
- 我在对话框上Create了CToolBarCtrl,怎么使其上的按扭变disabled,用EnableButton为什么不行?
==这样是可以的
使按钮无效,可以响应UPDATE_COMMAND_UI消息
==没有问题啊,一般都是这么做的
工具条其实就是菜单的快捷方式。当然,你可以自定义一个ID号,而不是真正添加一个菜单项。不过这个ID号和菜单是一回事,你完全可以给这个ID号添加COMMAND和UPDATE_COMMAND_UI事件
http://www.vckbase.com/document/viewdoc/?id=625