本文大部分思路来自于《VISUAL C++ 6.0 MFC 类库参考手册》一书!
CDialogBar在MFC中就是提供控制条形式的非模态对话框。
其使用过程很简单:
1.在MainFrame框架中声明变量
CDialogBar m_dialogbar;
2.在MainFrame的OnCreate函数中创建
EnableDocking(CBRS_ALIGN_ANY);
if (!m_dialogbar.Create(this,IDD_PREV,WS_CHILD|WS_VISIBLE|CBRS_TOOLTIPS|CBRS_LEFT|CBRS_SIZE_DYNAMIC|CBRS_FLYBY,IDD_PREV))
{
TRACE0("控制栏创建失败!");
return -1;
}
m_dialogbar.EnableDocking(CBRS_ALIGN_LEFT);
DockControlBar(&m_dialogbar);
其中IDD_PREV为在资源中加入的对话框ID
这样确实可以创建一个可以停靠的对话框条,但是同时这个对话框条有很多问题:
1.在该对话框上添加的按钮都会呈灰色,无论你是否给该按钮添加消息响应函数。
2.你为该对话框重载了OnInitDialog()后发现仍然无法初始化对话框
1的原因是因为CDialogBar对话框的消息响应是由Mai