我在Dialog 中作了个对话框,并用如下方法生成了一个RichEdit:CRect rc;
CWnd* pWnd = GetDlgItem(IDC_STATIC_RICHEDIT);
pWnd->GetWindowRect(&rc);
ScreenToClient(&rc);m_edRTF.Create( WS_VISIBLE | WS_TABSTOP | WS_BORDER | WS_VSCROLL | ES_MULTILINE   | ES_LEFT | ES_READONLY , rc, this, IDC_STATIC_RICHEDIT );其中的 IDC_STATIC_RICHEDIT 在.rc中是这样的:CONTROL         "",IDC_STATIC_RICHEDIT,"Static",SS_BLACKFRAME | NOT 
                    WS_VISIBLE,40,119,345,85并且在程序中我还将一个 .rtf 文件中的内容导入到这个RichEdit中,
这些都没问题,但是如果我有鼠标选中文字,然后鼠标点击其他的地方(此程序之外),然后再点击此程序,发现RichEdit不见了,但是用鼠标点中RichEdit 所在的位置,RichEdit中的文字能再现,只是RichEdit的边框没了。顺便说一下,这个对话框是有背景图的。这是怎么回事啊?如果我不用Create()方法来生成RichEdit,而是用ClassWizard来生成RichEdit的话,就没有这样的问题......我的描述不知道大家能不能看懂....
谢谢帮忙

解决方案 »

  1.   

    CONTROL         "",IDC_STATIC_RICHEDIT,"Static",SS_BLACKFRAME | NOT 
                        WS_VISIBLE,40,119,345,85NOT WS_VISIBLE  -> 是不是这边的问题.或者: 你的资源已经有了,为什么还要创建?  要动态创建就不需要在资源里面添加了.
      

  2.   

    是啊,你不是已经有了吗,干吗还要再create呢??而是用ClassWizard来生成RichEdit的话这又是什么意思
    是在资源中,在对话框中画吧,
      

  3.   

    在那里调用这个函数?放在对话框初始化那里
    IDC_STATIC_RICHEDIT 和Create没有什么关系吧
    要么使用使用对话框资源,要么动态创建估计是背景图的问题
      

  4.   

    我大致知道毛病出在什么地方了
    就是不知道怎么解,谁能帮我看看我的源代码阿??
    我已经把我的程序处理过了,提取了有问题的部分
    哪位大哥帮我看看阿
    我的msn: [email protected]欢迎来信...
    Thanks
      

  5.   

    加你了.  [email protected]
      

  6.   

    顶一下,不要下沉阿我的msn: [email protected]欢迎大家来信,我将回源代码
      

  7.   

    手头没有vs6的编译器
    也没法帮你编译你试试在对话框的OnPaint中,调用一下showwindow,把这个edit显示出来呢~~