vc++2008 feature package中CPaneDialog的使用方法
Posted on 2009-07-22 16:55 heeeey 閱讀(3504) 評(píng)論(8) 編輯 收藏 引用1. 在資源里添加dialog時(shí),使用formview的dialog。
2. 給dialog添加類CParamsDlg,基類選CDialog,生成代碼后,將代碼中的CDialog改成CPanedialog
3. 創(chuàng)建CPaneDialog,其中m_wndFileView是一個(gè)CDockablePane子類的對(duì)象。

if (!m_wndFileView.Create(strFileView, this, CRect(0, 0, 200, 200), TRUE, ID_VIEW_FILEVIEW, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT| CBRS_FLOAT_MULTI))
{
TRACE0("Failed to create File View window\n");
return FALSE; // failed to create
}
if (!m_dlgParams.Create (_T("DialogBar"), this, TRUE,
MAKEINTRESOURCE (IDD_FORM_PARAMS),
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI,
IDD_FORM_PARAMS))
{
TRACE0("Failed to create Dialog Bar\n");
return FALSE; // fail to create
}
m_wndFileView.EnableDocking(CBRS_ALIGN_ANY);
m_dlgParams.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_wndFileView);
m_dlgParams.DockToWindow (&m_wndFileView, CBRS_ALIGN_BOTTOM);

4. 在CParamsDlg中對(duì)控件添加響應(yīng)事件,不能捕獲到,初步想到的解決辦法未,在CParamsDlg中添加一個(gè)通過控件id取得控件內(nèi)容的函數(shù),然后將窗體中的按鈕響應(yīng)事件,添加到mainframe中,這樣由mainframe來捕獲,在響應(yīng)函數(shù)里調(diào)用CParamsDlg中的函數(shù),來獲得對(duì)應(yīng)控件的值。
最后,不知道,這種方法對(duì)不對(duì),畢竟新出來的東西,資料基本沒有,如果發(fā)現(xiàn)有更好的辦法,請(qǐng)告訴我!!


