假设:两个对话框,A_Dlg,B_Dlg,当按下A_Dlg的一个按钮A_Btn,就在B_Dlg中添加了一个编辑框(如果要添加多个编辑框,编辑框的位置怎么设置?) 
我是新手,希望大侠们在百忙中抽点时间给小弟指点几分,有代码最好。
感激不尽!!!!

解决方案 »

  1.   

    如果按下A_Dlg的按钮A_Btn时,B_Dlg也存在,那么你可以先定义一个CEdit *m_pEdit指针,然后用m_pEdit->Create(...)进行创建,其中父窗口写B_Dlg,所以你要先取得B_Dlg的指针。
      

  2.   

    在B_Dlg创建Edit写一个方法CEdit* pEdit = new CEdit;  //将edit的指针保存至一个容器(如vector)里进行管理
    pEdit->Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
       CRect(10, 10, 100, 100), //edit的位置,根据自己需要调整
       this, //B_Dlg的对象指针
       ID //edit的id,以某一数字开始,累计。
        );
      

  3.   

    补充:B_Dlg不存在,当按下A_Dlg的一个按钮A_Btn时,调用模态对话框B_Dlg,并创建编辑框。。
      

  4.   

    如果B_Dlg是模态对话框的话,那么有点麻烦,因为当B_Dlg被DoModal时,如果它没有被关闭,那么,下面的代码不会被执行,如果关闭之后再Create的话又不行。
      

  5.   

    如果B_Dlg是模态对话框,你不可能点击A_Dlg并在B_Dlg创建随意编辑框。
    要么你让B_Dlg是非模态对话框。
      

  6.   

    在B对话框中添加一个公共方法,用来在本对话框中创建一个文本框。然后在A对话框中调用B对话框的这个公共方法。我觉得这样程序的结构比较清楚,且进行了功能的封装。
      

  7.   

    非模态对话框B_Dlg,当你点击A_Dlg上的按钮A_Btn的时候,发送一个消息给B_Dlg,在B_Dlg的消息响应函数中创建对话框,位置你可以使用消息中的WPARAM和LPARAM参数来传递,或者更简单一点,你在B_Dlg中定义一个public的函数,该函数的参数为将要创建的编辑框的CRect就可以了
      

  8.   

    呃,B_Dlg中有编辑框,但是开始时隐藏,当点击A_Dlg上的按钮A_Btn的时候,把B_Dlg中的编辑框显示出来行不行
      

  9.   

    我们可以巧妙的来实现,在B_Dlg中添加编辑框,首先我们把它影藏起来(把visable属性去掉),当单击按钮A_Btn时发送一个消息将它显示m_Edit.ShowWindow(SW_SHOW);,至于编辑框的位置是你首先添加的 想放哪就放哪,;也可以用CEdit中的Creat来动态创建……