想在对话框内,根据需要动态的创建内容,请问如何实现?

解决方案 »

  1.   

    http://www.vckbase.com/document/viewdoc/?id=259
      

  2.   

    内容?指控件吧?用该控件的Create函数啊。指定对话框为父窗口。然后ShowWindow就
      

  3.   

    比如要添加一个按钮:
    在头文件里声明:CButton m_BtnDynic;
    再在OnInitDialog里边:
    m_BtnDynic.Create(  LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );  //第一个参数是按钮上的字,第二个参数是按钮的样式,第三个参数是按钮的位置,第四个是按钮的父类,这里是就写this,最后一个是按钮的ID号(不能和本窗体上的其它按钮的ID号重复)
      

  4.   

    //resource.h
    #define IDC_EDIT_NAME 1000//Test6Dlg.h
    CEdit *m_pEditName;//Test6Dlg.cpp
    CTest6Dlg::~CTest6Dlg
    {
        delete m_pEditName;
        m_pEditName = NULL;
    }CTest6Dlg::OnInitDialog() 
    {
    m_pEditName = new CEdit;
    ASSERT_VALID( m_pEditName );

    m_pEditName[->Create( WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER | ES_READONLY | 
    ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_CENTER, 
    CRect(0, 0, 55, 20), 
             this, 
             IDC_EDIT_NAME);
    }
      

  5.   

    //加上这个变量
    CEdit m_MyEdit;
    m_MyEdit.CreateEx(WS_EX_CLIENTEDGE, // 3D-border外观
            _T("EDIT"), 
            NULL,
            ES_AUTOHSCROLL | ES_LEFT | ES_NOHIDESEL | WS_CHILD,
            rect, this,
            ID_MYEDT);//生成edit控件
          
    m_MyEdit.ShowWindow(SW_SHOW); //显示控件//动态删除可以用如下语句
    GetDlgItem(ID_MYEDT)->DestroyWindow();//销毁控件