你的位置:pcMing工作室 >> 资讯 >> 编程开发 >> C++编程 >> 详细内容 在线投稿

RichEdit使用大全

排行榜 收藏 打印 发给朋友 举报 来源: 互联网   发布者:未知
热度2725票  浏览665次 【共0条评论】【我要评论 时间:2010年4月08日 20:24
一.常见问题pcMing工作室*njk&^|

q-BU;_o!~b0a.可以编译,不能执行的pcMing工作室2B8d6hv cA}6Pd
AfxInitRichEdit();pcMing工作室B,| P0^ _\@

K6E"KCm:p5EW&_p"i;m0b.升级默认的Riched版本(默认的有一些bug),如
^'gk:Z?z5d5[&M0可在InitInstance中添加
`)aM2S ?'q/W2^s0LoadLibrary("RICHED20.DLL")pcMing工作室%coR${'ZD
最后注意 FreeLibrary 如果是CRichEditView基类的可用pcMing工作室q W8T|,]4vMdB
BOOL CXXXXXXView::PreCreateWindow(CREATESTRUCT& cs)pcMing工作室F'z1@;R f(Uh8U
{
'^&Z!tQ0~!fd#u0//装入rich edit version 2.0pcMing工作室.X`f)R |? A.s
if (LoadLibraryA("RICHED20.DLL") == NULL)
9RbgX B'`Q(}0{
t$Im2Ro~I|U0AfxMessageBox(_T("Fail to load \"riched20.dll\"."),MB_OK | MB_ICONERROR);pcMing工作室_%Z YB4zCo
PostMessage(WM_QUIT,0,0);pcMing工作室Q:Z:l;s3X |^*b rc
return FALSE;
o o cq&s5|1o!Y0} m_strClass =RICHEDIT_CLASSA;//for 2.0 class return CRichEditView::PreCreateWindow(cs);pcMing工作室-s,Qi%C1Oh9qeK
}pcMing工作室UU.ni:C)au } p&S
pcMing工作室Qc0e8qW_
c.最后追加行pcMing工作室!T`Y#SQ&j
richeditctrl.SetSel(-1, -1);pcMing工作室!r2W3y7g7kI"W
richeditctrl.ReplaceSel( (LPCTSTR)str );
s[]:g^ [ QP0
1r bG)s4Bxi(o*Jn0d.字数限制
KN0]4oP/k4]"X0CRichEditCtrl::LimitText(long nChars)pcMing工作室 rLq{XM6G

r"yUVB%x,f0e.换行切换
m,uv;I5Pq9q0CRichEditView的OnInitialUpdate()函数中加入下面两句:pcMing工作室 YAL a"nQGE g
m_nWordWrap = WrapNone;pcMing工作室4Z2d2_E+k C9`
WrapChanged();
2[9px:v n ^0WrapChanged实际上也是调用
3aw#P(H#k!P;LQZ0ctrl.SetTargetDevice(NULL, 1); //m_nWordWrap == WrapNone
Ca2a/T+VT Z0ctrl.SetTargetDevice(NULL, 0); //m_nWordWrap == WrapToWindow
M4o"d}.d0
-Z ZxE]2n]"U t0还有不常用的 m_nWordWrap == WrapToTargetDevice
i.esA)f-v#Q:d'Q0ctrl.SetTargetDevice(m_dcTarget, GetPrintWidth());pcMing工作室'|%N2jGho
如果是在Dialog中,可使用SetTargetDevice,注意在属性里面加上want return f.有时候不希望带格式的数据粘贴,可通过PasteSpecial选择性粘贴pcMing工作室$I Xp9nXj[
pmyRichEditCtrl->;PasteSpecial(CF_TEXT);pcMing工作室5u3B9@l0MRP&pu{p8`l

2~:u1m:{)f0g.随着输入随着自动滚动条滚动到最后一行
(cNJE;L5zA`r(r)R8I0int nFirstVisible = pmyRichEditCtrl->GetFirstVisibleLine();pcMing工作室BN9N/tx9sh B
if (nFirstVisible > 0)pcMing工作室@ Jmw"}&t
{pcMing工作室7ls JWZ4g
pmyRichEditCtrl->LineScroll(-nFirstVisible, 0);pcMing工作室*@ niY,o:ig
}
k9m;`L5_.Y EV+p0pcMing工作室V;h1MdrQT2[+xI
m_cRichEdit.PostMessage(WM_VSCROLL, SB_BOTTOM,0);pcMing工作室6Sv;~kC7h'uU'F$~
pcMing工作室];LF1[@D"T,J"G k8{
h.设置UNDO的次数(只能用在RICHED20以上,即默认不支持,必须升级)pcMing工作室XZ2}eH~
SendMessage(EM_SETTEXTMODE,TM_MULTILEVELUNDO,0);
q5] efj6q]5UI0TM_MULTILEVELUNDO 支持多取消(默认值).可通过EM_SETUNDOLIMIT设置最大次数pcMing工作室)c!]%e.n1h:_&Fr
SendMessage(EM_SETUNDOLIMIT,100,0); i.响应OnChange
@+BNgZ]YOd0EM_SETEVENTMASK 设置 ENM_CHANGE
Q*I;aQn:Lq"H)g0long lMask = GetEventMask();
;`%k|lU4x0lMask |= ENM_CHANGE;
,kZ]*b~%h0lMask &= ~ENM_PROTECTED;
Dm\/CA1d(p0SetEventMask(lMask); j.设置只读pcMing工作室}H.Nqi}5A%}
CRichEditCtrl::SetReadOnly( BOOL bReadOnly = TRUE );
G4I0qK_@\0通过设置PROTECTED实现选中的文本只读,参见pcMing工作室7Eu0ad*|{
http://www.codeguru.com/Cpp/controls/richedit/article.php/c2401/pcMing工作室*U$B5N;}WHwfJL,t/`

TAG: RichEdit
顶:143 踩:142
对本文中的事件或人物打分:
当前平均分:-0.46 (820次打分)
对本篇资讯内容的质量打分:
当前平均分:-0.56 (846次打分)
【已经有774人表态】
101票
感动
106票
路过
97票
高兴
88票
难过
86票
搞笑
91票
愤怒
100票
无聊
105票
同情
上一篇 下一篇
发表评论
换一张

网友评论仅供网友表达个人看法,并不表明本网同意其观点或证实其描述。

查看全部回复【已有0位网友发表了看法】

网络资源