我用的是rich textbox,不是CRichTextCtrl,再说,我也试过这样做了,可没有效果

解决方案 »

  1.   

    DLL输出含有资源的对话框需管理资源模块
    具体的说,系统默认的资源位于主程序(即你的EXE文件中)
    创建对话框时在主程序模块文件中寻找对话框资源,自然是找不到的
    所以创建对话框就失败了。
    管理资源模块的方式为:
    AFXMANAGESTATE(GetCurrentModule());
    具体代码记的不是很清楚,你可以查相关资料
    如MSDN确认一下
      

  2.   

    你说的是AFX_MESSAGE_STATE(AfxGetStaticModuleState())吧,
    我的导出函数州都有加这一行代码。
    我觉得关键是控件的问题,因为我把这个控件删掉后,只保留标准控件,对话框就能显示出来了,哪个地方可能要写点什么东西
      

  3.   

    试试 CoInitialize  ,AfxEnableControlContainer();我也不知道了,瞎说的 :)
      

  4.   

    呵呵,我刚才也问了一个高手,是需要加入CoInitialize,和AfxEnableControlContainer(),和gboy说的一样。
    我看了一下,主要是创建工程的时候,如果是exe程序,wizard默认提供对activex control的支持,而dll工程中不是缺省的,所以要自家加入这两句。
    其实刚才看看debug窗口也能想到,debug窗口显示了创建控件失败,可我没有看debug窗口,所以,呵呵,浪费了好多时间。
    谢谢大家!
    提醒大家,注意以后要看debug窗口的调试信息
      

  5.   

    要调用RichEdit要初始化,AfxInitRichEdit()一下就OK
      

  6.   

    又有新的问题,对话框显示是没有问题了,对话框的句柄为什么是0?无法调用它的一些函数。
    我又开了一个帖子:http://www.csdn.net/expert/topic/559/559429.xml?temp=.2415277