关于richedit的乱码问题(我就那么多了)(50分)

  • 主题发起人 主题发起人 robinswp
  • 开始时间 开始时间
R

robinswp

Unregistered / Unconfirmed
GUEST, unregistred user!
1.主Form打开一个子Form后,在往主Form的Richedit写入内容,就出现乱码.子Form中有一个dbgrid,如果我把dbgrid去掉,就没事.我把system目录下的riched*.dll换了一下,没显示乱码,但字体变小了.是不是Richedit很不稳定?
2.memo中可以用Tcanvas显示彩色字体,但它的ScrollBar就拖不动,请问各位有何方法?
 
1、richedit显示乱码是经常有的事,
你可下载一改进的richedit控件。
2、TMemo本来设计时就不支持这种操作,
你可用timage来替代TMEMO。
 
1.不太清楚,不敢乱说。
2.你要截获Memo的WM_PAINT消息,然后在那里用TCanvas画,这样每次滚动时
都会刷新。我这有个示例,网上down的,只有几K,要的话给你发一个?
 
Zephyr:麻烦你给我发一个,我急着要用,谢谢!
 
1 乱码不清楚,是不是你写的是中文?
2 procedure WMPaint(var msg: TWMPaint); message WM_PAINT;


procedure YourMemo.WMPaint(var msg: TWMPaint);
var aCanvas: TCanvas;
DC: HDC;
begin
inherited;
aCanvas := TCanvas.Create;
DC := GetDC(YourMemo.Handle);
aCanvas.Handle := DC;
根据内容重画;
aCanvas.Free;
ReleaseDC(yourMemo.Handle, DC);
end;

我写了个给richEdit 加行号的wmpaint,
这里:http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=197996
 
to robinswp:
  不好意思,我一整天都在外面,现在马上发给你。
  (你没说发到哪,我给你发到songweiping@21cn.com吧)
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部