一个足以难倒这里所有人的问题!(100分)

  • 主题发起人 主题发起人 masm
  • 开始时间 开始时间
M

masm

Unregistered / Unconfirmed
GUEST, unregistred user!
RichEdit中如何使一行文字中用不同的颜色显示如:
111---222哈---好1
(红色)(黑色)(绿色)
不要告诉我用SelLength。因为2个字节的汉字在这里长度只算一个!汉字数字乱排的情况下还要作判断
太复杂了!而且我还要在紧跟这个字符串后面再追加,怎么办???
 
procedure TForm1.Button1Click(Sender: TObject);
begin
with RichEdit1 do
begin
SelStart :=FindText('某个字',0,GetTextLen,[stWholeWord]);
SelLength :=8;
SelAttributes.color:=clBlue;
SelLength:=0;
end;
end;
 
汉字长度不会有问题,可以通过类型转换。你试了下面的就应该明白:

showmessage(inttostr(length('这是汉字')));
showmessage(inttostr(length(widestring('这是汉字'))));
showmessage(inttostr(length('这A是b汉字')));
showmessage(inttostr(length(widestring('这是A汉字BC'))));

 
接受答案了.
 
后退
顶部