在dialogbar上加入一属性页控件为何不可以用,如何在dialogbar上加控件?让控件相应消息。先谢谢了!

解决方案 »

  1.   

    在DialogBar上加控件就如同在一般对话框模板上加控件一样的啊。
    让控件发消息可参考如下代码:
    LRESULT CMyDlgBar::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
    {    ASSERT_VALID(this);    // Parent notification messages are just passed to parent of control bar.
        switch (message)
        {
        case WM_COMMAND:
        case WM_DRAWITEM:
        case WM_MEASUREITEM:
        case WM_DELETEITEM:
        case WM_COMPAREITEM:
        case WM_VKEYTOITEM:
        case WM_CHARTOITEM:
            return ::SendMessage(::GetParent(m_hWnd), message, wParam, lParam);
        }
      return CWnd::WindowProc(message, wParam, lParam);
    }
      

  2.   

    专门创建一个继承CDialogBar的CMyDlgBar按照楼上说的处理。
      

  3.   

    为什么我加的按钮都是灰色的不可用?
    我在CMainFrame中定义CDialogBar m_dialogbar;
    然后再int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
                if (!m_wndDlgBar.Create(this, IDD_VIEWCORTROL,
      CBRS_RIGHT | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_HIDE_INPLACE,
     IDD_VIEWCORTROL))//此处idd_viewcortorl为一dialog的id
       {
      TRACE0("Failed to create DlgBar\n");
      return -1;      // Fail to create.
       }
    }
    然后在dialog上加按钮
    该如何处理?
      

  4.   

    DialogBar 的控件状态和 Menu, ToolBar 一样,是由 ON_UPDATE_COMMAND_UI 控制的,如果没有重载相应的处理函数,控件就是不可用状态
      

  5.   

    如何在DIALOGBAR上使用TabCtrl?
      

  6.   

    将对话框 border 属性 设为 thin 你在试试.