因为对话框大小固定 但是需要放置较多的控件,需要有个滚动条来增加面板控件

解决方案 »

  1.   

    控件多,那你可以使用 CTabCtrl 
    来做啊
      

  2.   

    这个不好做。换个思路,谈出一个FRAME,把它变成modal的,就行了。
    因为CFrameWnd 和 CView 很难分开。看看CDialog::DoModal实现就知道该怎么做了。前人试验过的。
      

  3.   

    m_pView = NULL ;

    CCreateContext ctx;
    ctx.m_pCurrentDoc = NULL;
    ctx.m_pCurrentFrame = NULL;
    ctx.m_pLastView = NULL;
    ctx.m_pNewDocTemplate = NULL;
    ctx.m_pNewViewClass = RUNTIME_CLASS(CFormView);

    m_pView = (CFormView *)((CFrameWnd *) this)->CreateView(&ctx); //这里返回的是空值 

    CRect rectClient;
    GetDlgItem(IDC_STATIC2)->GetClientRect(rectClient);
    GetDlgItem(IDC_STATIC2)->MapWindowPoints(this, rectClient);
    rectClient.DeflateRect(3, 3);
    m_pView->MoveWindow(rectClient);
      

  4.   

    这样的代码在 文档视图结构的程序中 只要把doc指针赋值正确就没问题 。 但我的是基于dialog的程序  没有doc, 只能赋个NULL 所以错了 ?
      

  5.   

    我现在把这些控件都放到一个dialog中去  该dialog设为child类型
    在另外一个dialog中加入 dialog1 , 然后只需move dialog1, 还没有详细做 不知道会有什么问题出现 ?
      

  6.   

    我用ScrollWindow滚动dialog``就在处理滚动位置那里很麻烦```其他都没什么问题``