m_ToolBar.CreateEx(this,TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
m_ToolBar.LoadToolBar(IDR_TOOLBAR1);
m_ToolBar.ShowWindow(SW_SHOW);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
工具栏中有3个按钮,如何禁用(灰色)和启用某个按钮?
网上说的方法:1、m_ToolBar.SetButtonInfo(0,10000,TBBS_BUTTON,0);
2、UPDATE_COMMAND_UI 消息中 添加 pCmdUI->Enable(FALSE);
我都试过了,单文档/多文档工程是OK的,基于对话框是不行的。第2中方法都不会响应,可能要自己更新。
13 个解决方案
#1
#2
在线等啊 没人回复吗?是不是太简单了?
#3
m_ToolBar.SendMessage(TB_ENABLEBUTTON,ID_T1,FALSE);
ID_T1是工具条一个按钮的ID
ID_T1是工具条一个按钮的ID
#4
是在不行,传工程上来,应该是可以的
#5
如何启用?
#6
看错了 ,我试了下 ,可以的 谢谢
#7
m_ToolBar.SendMessage(TB_ENABLEBUTTON,ID_T1, TRUE);
#8
还有其他方法吗?
#9
嗯,刚才试过了。还有其他方法吗?就网上说的那些,我提到的那2个方法为什么不行?
这个方法原理是?
#10
其他的方法不知道,命令更新机制依赖于FrameWnd,对话框不可用
#11
第一个方法,你看MSDN
#12
我看过了。
void SetButtonInfo( int nIndex, UINT nID, UINT nStyle, int iImage );
nIndex:工具栏中按钮的索引
nID:按钮ID
nStyle:按钮样式
iImage :位图索引
其实就是通过ID来做文章的,基于对话框就不行。FrameWnd就没问题。
void SetButtonInfo( int nIndex, UINT nID, UINT nStyle, int iImage );
nIndex:工具栏中按钮的索引
nID:按钮ID
nStyle:按钮样式
iImage :位图索引
其实就是通过ID来做文章的,基于对话框就不行。FrameWnd就没问题。
#13
明天结贴,欢迎大家讨论。
#1
#2
在线等啊 没人回复吗?是不是太简单了?
#3
m_ToolBar.SendMessage(TB_ENABLEBUTTON,ID_T1,FALSE);
ID_T1是工具条一个按钮的ID
ID_T1是工具条一个按钮的ID
#4
是在不行,传工程上来,应该是可以的
#5
如何启用?
#6
看错了 ,我试了下 ,可以的 谢谢
#7
m_ToolBar.SendMessage(TB_ENABLEBUTTON,ID_T1, TRUE);
#8
还有其他方法吗?
#9
嗯,刚才试过了。还有其他方法吗?就网上说的那些,我提到的那2个方法为什么不行?
这个方法原理是?
#10
其他的方法不知道,命令更新机制依赖于FrameWnd,对话框不可用
#11
第一个方法,你看MSDN
#12
我看过了。
void SetButtonInfo( int nIndex, UINT nID, UINT nStyle, int iImage );
nIndex:工具栏中按钮的索引
nID:按钮ID
nStyle:按钮样式
iImage :位图索引
其实就是通过ID来做文章的,基于对话框就不行。FrameWnd就没问题。
void SetButtonInfo( int nIndex, UINT nID, UINT nStyle, int iImage );
nIndex:工具栏中按钮的索引
nID:按钮ID
nStyle:按钮样式
iImage :位图索引
其实就是通过ID来做文章的,基于对话框就不行。FrameWnd就没问题。
#13
明天结贴,欢迎大家讨论。