CMainFrame有两个工具条 一个是生成的m_wndTooBar 另一个是基于CdialogBar的工具条
我用
m_wndXXBar.EnableDocking(0);
FloatControlBar(&m_wndXXBar,CPoint);
永久浮动任何一个工具条都会出现运行错误
在网上搜了半天不知道什么原因另外,我将m_wndToolBar 的类改为自定义的类(继承CToolBar有一个CEdit控件),用w_wndToolBar.m_wndEdit.Create(...)也会出现运行错误以后还有两个需要永久浮动的CdialogBar的工具条,如果这个错误不解决,后面就不知道该怎么做下去了希望大家能帮帮我。。
我用
m_wndXXBar.EnableDocking(0);
FloatControlBar(&m_wndXXBar,CPoint);
永久浮动任何一个工具条都会出现运行错误
在网上搜了半天不知道什么原因另外,我将m_wndToolBar 的类改为自定义的类(继承CToolBar有一个CEdit控件),用w_wndToolBar.m_wndEdit.Create(...)也会出现运行错误以后还有两个需要永久浮动的CdialogBar的工具条,如果这个错误不解决,后面就不知道该怎么做下去了希望大家能帮帮我。。
DockControlBar(&m_InfoDialog);
POINT pos = {0,0};
FloatControlBar(&m_InfoDialog,pos);
m_InfoDialog.EnableDocking(CBRS_NOALIGN);应该是mfc的问题,用我的方法可以
刚才又试了一下
m_wndToolBar可以浮动
但m_wndToolBar.m_wndEdit.Create(这里要出现运行错误。。
浮动基于CDialogBar的m_wndNavigation要出错..
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
// m_wndToolBar.SetButtonInfo(10,WM_USER+9,TBBS_SEPARATOR,150);
// CRect rect;
// m_wndToolBar.GetItemRect(10,&rect);
// m_wndToolBar.m_wndEdit.Create(WS_CHILD | WS_VISIBLE,rect,&m_wndToolBar,WM_USER+9); if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
} if(!m_wndNavigation.Create(this,IDD_NAVIGATION_FORM,WS_CHILD | WS_VISIBLE | CBRS_LEFT | CBRS_FLOATING | CBRS_SIZE_FIXED ,IDD_NAVIGATION_FORM))
{
return -1;
}
m_wndNavigation.SetWindowText(_T("鹰眼")); EnableDocking(CBRS_ALIGN_ANY); m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
// FloatControlBar(&m_wndToolBar,CPoint(0,0));
DockControlBar(&m_wndToolBar); m_wndNavigation.EnableDocking(0);
// DockControlBar(&m_wndNavigation);
FloatControlBar(&m_wndNavigation,CPoint(0,0)); return 0;
我这么做 还是出错
m_wndNavigation.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndNavigation);
FloatControlBar(&m_wndNavigation,CPoint(0,0));
可以正常浮动。。
不知道是什么原因。。
明天结帖