我创建了一个MFC扩展DLL,里面包含一个对话框和一个按钮。当我新建另外一个对话框工程,调用这个DLL时,DLL窗体可以正常显示,但是却不能调整它的位置,请高手解答。另外,还有一个奇怪的问题,如果用SDI单文档工程里面的CFormview里调用这个DLL,DLL窗体可以显示但是里面的按钮不能点击。我把代码放在了附件里面,望高手帮忙看一看。
压缩包里的文件说明:
D:\DLL_SENDMSG      //DLL工程目录
├─Caller          //SDI 调用者工程目录 (能显示,但不正常)
│  ├─Debug
│  └─res
├─CallerDlg       //Dialog 调用者工程目录(可以正常显示,但DLL对话框位置不能调整)
│  ├─Debug
│  └─res
├─Debug
└─resBOOL CCallerDlgDlg::OnInitDialog()
{
      ……   ……
        //m_dlldlg为DLL中对话框的导出类的对象
        m_dlldlg.Create(IDD_DLL_DLG);
m_dlldlg.SetWindowPos(this,100,100,600,400,SWP_DRAWFRAME);   //这句没有效果??
m_dlldlg.ShowWindow(SW_SHOW | SW_SHOWNORMAL);
      ……  ……
}

解决方案 »

  1.   

    附件上传好像失败,新链接
    http://c10.qupan.com/rar/2009-3-3/17/www.qupan.com_2113555_DLL_SendMsg.rar?2irotj55kwoeaq45210tflag=1236072121opin=4411f591d9685b89509034bd245d4440.rar
      

  2.   

    你的DLL中父窗口是对话框或者是formview 就不能调整大小或者 点击里面的按钮了。你把this换成别的。 
      

  3.   

    你的DLL中父窗口是对话框或者是formview 就不能调整大小或者 点击里面的按钮了。你把this换成别的或者NULL。
      

  4.   

    感谢 zhaiweihua 的热心回答,试了不行。
    ------------------------------------
    另外我还试了一下在SDI(基于Formview)的工程里调用这个DLL是,可以调整DLL对话框的位置,但是DLL里面的按钮无响应。有人知道为啥么?