首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

跪求!CDialogBar上的按钮怎么响应,小弟我添加了消息为什么总是灰色的

2013-03-26 
跪求!CDialogBar上的按钮如何响应,我添加了消息为什么总是灰色的我在对话框上创建了一个Cdialogbar,然后再

跪求!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就变成亮的了,不知道为啥,

热点排行