vc++2008 feature package中CPaneDialog的使用方法

1. 在资源里添加dialog时,使用formview的dialog。
2. 给dialog添加类CParamsDlg,基类选CDialog,生成代码后,将代码中的CDialog改成CPanedialog

3. 创建CPaneDialog,其中m_wndFileView是一个CDockablePane子类的对象。

 


    
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中对控件添加响应事件,不能捕获到,初步想到的解决办法未,在CParamsDlg中添加一个通过控件id取得控件内容的函数,然后将窗体中的按钮响应事件,添加到mainframe中,这样由mainframe来捕获,在响应函数里调用CParamsDlg中的函数,来获得对应控件的值。
      最后,不知道,这种方法对不对,毕竟新出来的东西,资料基本没有,如果发现有更好的办法,请告诉我!!

你可能感兴趣的:(vc++2008 feature package中CPaneDialog的使用方法)