位置要自己通过计算进行设定,动态创佳时,要注意保存指针,以便关闭是释放,如:
CButton* pButton = new CButton;
pButton->Create(...);
...
pButton->SendMessage(WM_CLOSE,0,0);
delete pButton;

解决方案 »

  1.   

    void CXXXDlg::OnLButtonDblClk(UINT nFlags, CPoint point) 
    {
    // TODO: Add your message handler code here and/or call default
    m_ctlButton= new CButton;
    m_ctlButton->Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 
    CRect(10,40,100,70),this, ID_BUTTON);
    m_ctlButton->ShowWindow(SW_SHOW); CDialog::OnLButtonDblClk(nFlags, point);
    }
      

  2.   

    在CMyDlg.h中做下面几个动作:public:
         //加上这个变量
         CEdit   m_MyEdit;protected:     
        //加上这个函数,  用来响应编辑框改变的事件
        afx_msg void OnChangeEdit();
    在CMyDlg.cpp中做下面几个动作:
    //增加这一行
    #define ID_MYEDT 1820在函数void CMyDlg::DoDataExchange(CDataExchange* pDX)中加入 DDX_Text(pDX, IDC_MYEDT, m_MyEdt);

    在BEGIN_MESSAGE_MAP(CMyDlg, CDialog)下面加入ON_EN_CHANGE(ID_MYEDT, OnChangeEdit)

    你要在CMyDlg.cpp中实现OnChangeEdit()函数;


    好了,做完以上步骤以后你就可以动态生成控件了.
                       m_edtArray[Index-1].CreateEx(WS_EX_CLIENTEDGE, // Make a 3D-border
      _T("EDIT"), 
    NULL,
    ES_AUTOHSCROLL |
    ES_LEFT | ES_NOHIDESEL |
    WS_CHILD,
    rect, this,
    ID_MYEDT);//生成edit控件


         GetDlgItem(ID_MYEDT)->DestroyWindow() ;//销毁控件 
      

  3.   

    m_edtArray[Index-1].CreateEx(WS_EX_CLIENTEDGE, // Make a 3D-border
      _T("EDIT"), 
    NULL,
    ES_AUTOHSCROLL ¦
    ES_LEFT ¦ ES_NOHIDESEL ¦
    WS_CHILD,
    rect, this,
    ID_MYEDT);//生成edit控件
      

  4.   

    改正一下:应该是这样生成的.
    m_MyEdit.CreateEx(WS_EX_CLIENTEDGE, // Make a 3D-border
                      _T("EDIT"), 
                      NULL,
                      ES_AUTOHSCROLL ¦
                      ES_LEFT ¦ ES_NOHIDESEL ¦
                      WS_CHILD,
                      rect, this,
                     ID_MYEDT);//生成edit控件
        
      

  5.   

    DDX_Text(pDX, IDC_MYEDT, m_MyEdt);//这一行不要.生成以后: 
    加上这么一句:
    DDX_Text(pDX, IDC_MYEDT, m_MyEdt);你的mail是多少? 
    我发个例子给你.
      

  6.   

    说错了:生成以后加上这么一句:m_MyEdit.ShowWindow(SW_SHOW);
      

  7.   

    to bzshow: 我的Email:[email protected]   谢谢了。
      

  8.   

    我已上传到文档中心了.http://www.csdn.net/filebbs/read_topic.asp?id=586