创建了一个MFC的单文档
希望能将单文档右边的边框加宽...然后在上面放置各种控件(按钮啊,列表框之类的)
想问一下如何将边框加宽?

解决方案 »

  1.   

    今天尝试做成了DialogBar
    可是代码有错误...
    CDlgBar.h文件
    class CLeftDlgBar : public CDialogBar
    {
    DECLARE_DYNAMIC(CLeftDlgBar)public:
    CLeftDlgBar();   // 标准构造函数
    virtual ~CLeftDlgBar();
    // 对话框数据
    enum { IDD = IDD_DLGBAR };protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
    //virtual CSize CalcDynamicLayout(int nLength, DWORD nMode);
    protected:
    afx_msg LONG OnInitDialog(UINT wParam,LONG lParam); DECLARE_MESSAGE_MAP()
    };CDlgBar.cpp文件
    #include "LeftDlgBar.h"
    // CLeftDlgBar 对话框IMPLEMENT_DYNAMIC(CLeftDlgBar, CDialogBar)
    CLeftDlgBar::CLeftDlgBar()
    {
    //{{AFX_DATA_INIT(CDataStatus)
    // NOTE: the ClassWizard will add member initialization here
    //}}AFX_DATA_INIT
    }CLeftDlgBar::~CLeftDlgBar()
    {
    }
    void CLeftDlgBar::DoDataExchange(CDataExchange* pDX)
    {
    CDialogBar::DoDataExchange(pDX);
    }
    LONG CLeftDlgBar::OnInitDialog(UINT wParam, LONG lParam)
    {
    BOOL bRet = HandleInitDialog(wParam, lParam); if(!UpdateData(FALSE))
    {
    TRACE0("Warning, Unalbe to init update.\n");
    }
    // Add Code here
    return bRet;
    }
    //CSize CLeftDlgBar::CalcDynamicLayout(int nLength, DWORD nMode)
    //{
    // CRect rcFrame;
    // GetDockingFrame() ->GetClientRect(&rcFrame);
    // return CSize(rcFrame.Width()/ 3, rcFrame.Height());
    //}
    BEGIN_MESSAGE_MAP(CLeftDlgBar, CDialogBar)
    ON_MESSAGE(WM_INITDIALOG, OnInitDialog)
    END_MESSAGE_MAP()
    MainFrame.cpp文件
    int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
             if (!m_lDlgBar.Create(this, IDD_DLGBAR, WS_CHILD | WS_VISIBLE | CBRS_TOP
    | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC,IDD_DLGBAR))
    {
    TRACE0("Failed to create dialog bar\n");
    return -1;      // fail to create
    }
            m_lDlgBar.EnableDocking(CBRS_ALIGN_ANY);
            EnableDocking(CBRS_ALIGN_ANY);
            DockControlBar(&m_lDlgBar,AFX_IDW_DOCKBAR_BOTTOM,NULL);
    }
    编译可以通过,但是运行的时候会有错误
    我是第一次用DialogBar不知道错在哪里...希望有人能帮我看一下