关于CDialogBar的隐藏于显示

两个CDialogBar在CMainFrame的头文件里加入变量

 CMyDialogBar    m_bar;
 CMyDialogBar1  m_bar1;

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

//...

...

  CXTPDockingPane* pwndpane1 = m_paneManager.CreatePane(

          IDD_DIALOG,CRect(0,0,200,75),xtpPaneDockLeft);

  CXTPDockingPane* pwndPane2 = m_paneManager.CreatePane(

         IDD_DIALOG1,CRect(0,0,200,100),xtpPaneDockBottom, pwndpane1);

return 0;

}

 

添加ON_MESSAGE(XTPWM_DOCKINGPANE_NOTIFY, OnDockingPaneNotify)

LRESULT CMainFrame::OnDockingPaneNotify(WPARAM wParam, LPARAM lParam)
{
 if (wParam == XTP_DPN_SHOWWINDOW)
 {
  CXTPDockingPane* pPane = (CXTPDockingPane*)lParam;

   if (!pPane->IsValid())
   {
   switch (pPane->GetID())
   {

     case IDD_DIALOG:
    {
     if(m_bar.GetSafeHwnd()==0)
     {
      m_bar.Create(this,IDD_DIALOG,CBRS_LEFT|CBRS_TOOLTIPS|CBRS_FLYBY, IDD_DIALOG);
     }
     pPane->Attach(&m_bar);
     break;
    }
   case IDD_DIALOG1:
    {
     if(m_bar1.GetSafeHwnd()==0)
     {
      m_bar1.Create(this,IDD_DIALOG1,CBRS_LEFT|CBRS_TOOLTIPS|CBRS_FLYBY, IDD_DIALOG1);
     }
     pPane->Attach(&m_bar1);
     break;
    }
   }
  }
  return TRUE;
 }
 return FALSE;
}

如此就实现了CDialogBar在文档的左边的显示和隐藏

也可以在OnCreate的后面加入:CXTPDockingPaneLayout

CXTPDockingPane* pwndpane1 = m_paneManager.CreatePane(

          IDD_DIALOG,CRect(0,0,200,75),xtpPaneDockLeft);

CXTPDockingPane* pwndPane2 = m_paneManager.CreatePane(

         IDD_DIALOG1,CRect(0,0,200,100),xtpPaneDockBottom, pwndpane1);

 

CXTPDockingPaneLayout layoutNormal(&m_paneManager);
  if (layoutNormal.Load(_T("NormalLayout")))
  {
   m_paneManager.SetLayout(&layoutNormal);
   }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值