读书人

跪求!CDialogBar上的按钮怎么响应小

发布时间: 2013-03-26 09:54:34 作者: rapoo

跪求!CDialogBar上的按钮如何响应,我添加了消息为什么总是灰色的
我在对话框上创建了一个Cdialogbar,然后再这个对话框上响应CDialogbar的按钮,但总是灰色的,代码为
BEGIN_MESSAGE_MAP(CPreViewDlg, CDialogEx)
ON_COMMAND(ID_BUTTON1, &CPreViewDlg::OnBUTTON1)
END_MESSAGE_MAP()

void CPMyDlg::OnBUTTON1()
{
// TODO: Add your command handler code here

}
该怎样改啊
[解决办法]
你Cdialogbar对应的Toolbar的资源编号是多少??ID_BUTTON1??
我感觉应该不太可能吧??

ON_COMMAND要绑定Toolbar子按钮编号的
[解决办法]
没用过。有人说要更新下状态


void CXXX::UpdateControls(BOOL bEnabled)
{
for(int i = 0, j = GetToolBarCtrl().GetButtonCount(); i < j; i++)
{
if(GetButtonStyle(i)&(TBBS_SEPARATOR))
continue;

if(bEnabled)
SetButtonStyle(i, GetButtonStyle(i)&(~TBBS_DISABLED));
else
SetButtonStyle(i, GetButtonStyle(i)
[解决办法]
TBBS_DISABLED);
}

RedrawWindow();
}


[解决办法]
在‘插入资源’中插入对话框-》展开后插入CDialogBar。
加按钮。
用向导产生按钮:
void CMyDlgBar::OnButton1()

[解决办法]
例子:
about 对话框:
init:
//CDialogBar m_wndDlgBar;
if (!m_wndDlgBar.Create(this, IDD_DIALOGBAR,CBRS_ALIGN_ANY, AFX_IDW_DIALOGBAR))
{
TRACE0("Failed to create dialogbar\n");
return -1;// fail to create
}
m_wndDlgBar.MoveWindow(0,0,100,40);
消息:
1。afx_msg void OnButton1();
2。ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
3。void CAboutDlg::OnButton1()
{
// TODO: Add your control notification handler code here
AfxMessageBox("OnButton1");
}

[解决办法]
怎么可能是灰色的呢?Cdialogbar本身和一个dlg差不多,上面的按钮就是普通按钮啊,你即使不响应函数也应该是激活的啊,除非你的按钮本身就是DISABLE的
[解决办法]
对话框初始化都用oninitdialog
[解决办法]
参考
http://www.vckbase.com/index.php/cv/114
[解决办法]
这个帮顶 我前几天在创建listctrl时 在listctrl上面加的toolbar也是灰色的 但是用系统ID_FILE_NEW、ID_FILE_OPEN、ID_FILE_SAVE就变成亮的了,不知道为啥,

读书人网 >VC/MFC

热点推荐