我想固定停靠,但是一固定,打印预览中就多出来这个CDialogBar对像。我做了一个class CMeasureDlg : public CDialogBar
CMeasureDlg m_wndMyDialogBar;我想让他固定停靠在工具条图标的下面,不能移动,我
在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)中建立实例,
为了让他固定停靠,我去掉了下面的话,发现在主界面上倒是实现了固定停靠,但是我在点击打印预览命令时,发现m_wndMyDialogBar竟然出现在打印预览窗口中了。
m_wndMyDialogBar.EnableDocking(CBRS_ALIGN_TOP | CBRS_ALIGN_BOTTOM);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndMyDialogBar);
CMeasureDlg m_wndMyDialogBar;我想让他固定停靠在工具条图标的下面,不能移动,我
在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)中建立实例,
为了让他固定停靠,我去掉了下面的话,发现在主界面上倒是实现了固定停靠,但是我在点击打印预览命令时,发现m_wndMyDialogBar竟然出现在打印预览窗口中了。
m_wndMyDialogBar.EnableDocking(CBRS_ALIGN_TOP | CBRS_ALIGN_BOTTOM);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndMyDialogBar);
m_SliderCtrl.Create(WS_CHILD | WS_VISIBLE | CBRS_TOP|TBS_HORZ,rect,this,IDC_SLIDER);
m_SliderCtrl.SetRange(0,1000,true);
m_SliderCtrl.SetPageSize(1);
CBRS_TOP | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_HIDE_INPLACE,
CG_ID_VIEW_MYDIALOGBAR))
{
TRACE0("Failed to create dialog bar m_wndMyDialogBar\n");
return -1; // fail to create
}
{
m_wndMyDialogBar.ShowWindow(SW_HIDE);
}
dialog bar一般要让framewnd来show, hide
CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd;
if(pMain->m_wndMyDialogBar.IsWindowVisible()) //隐藏CDialogbar
{
pMain->m_wndMyDialogBar.ShowWindow(SW_HIDE);
}
2、调用打印结束后重新显示。
void CYouView::OnYouPrintPreview()
{
CView::OnFilePrintPreview();
CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd;
if(!pMain->m_wndMyDialogBar.IsWindowVisible()) //调用打印预览后,重新显示CDialogbar
{
pMain->m_wndMyDialogBar.ShowWindow(SW_SHOW);
}
}