RichEdit 消失了....
我在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的话,就没有这样的问题......
我的描述不知道大家能不能看懂....
谢谢帮忙
问题点数:50、回复次数:9Top
1 楼striking(庸人自扰)回复于 2006-03-13 19:47:02 得分 0
CONTROL "",IDC_STATIC_RICHEDIT,"Static",SS_BLACKFRAME | NOT
WS_VISIBLE,40,119,345,85
NOT WS_VISIBLE -> 是不是这边的问题.
或者: 你的资源已经有了,为什么还要创建? 要动态创建就不需要在资源里面添加了.Top
2 楼handsomerun(毛毛)回复于 2006-03-13 19:49:45 得分 0
你的画背景是在onpaint中做的吗??
你试试在onpaint再调用一下showwindow把这个edit显示出来试试呢Top
3 楼handsomerun(毛毛)回复于 2006-03-13 19:50:58 得分 0
是啊,你不是已经有了吗,干吗还要再create呢??
而是用ClassWizard来生成RichEdit的话
这又是什么意思
是在资源中,在对话框中画吧,Top
4 楼xing_xing_xing(哈哈)回复于 2006-03-13 21:17:51 得分 0
在那里调用这个函数?放在对话框初始化那里
IDC_STATIC_RICHEDIT 和Create没有什么关系吧
要么使用使用对话框资源,要么动态创建
估计是背景图的问题Top
5 楼roger_it()回复于 2006-03-17 11:36:10 得分 0
我大致知道毛病出在什么地方了
就是不知道怎么解,谁能帮我看看我的源代码阿??
我已经把我的程序处理过了,提取了有问题的部分
哪位大哥帮我看看阿
我的msn: jv_roger@hotmail.com
欢迎来信...
ThanksTop
6 楼striking(庸人自扰)回复于 2006-03-17 11:40:54 得分 50
加你了. thecpp@hotmail.comTop
7 楼roger_it()回复于 2006-03-17 13:23:49 得分 0
顶一下,不要下沉阿
我的msn: jv_roger@hotmail.com
欢迎大家来信,我将回源代码Top
8 楼roger_it()回复于 2006-03-20 09:16:05 得分 0
怎么没人回应我的帖子呢??Top
9 楼handsomerun(毛毛)回复于 2006-03-20 09:34:45 得分 0
手头没有vs6的编译器
也没法帮你编译
你试试在对话框的OnPaint中,调用一下showwindow,把这个edit显示出来呢~~Top




