我在程序里用
DrawText(Handle,Pchar(s),-1,ARect,DT_LEFT or DT_NOPREFIX or DT_WORDBREAK or DT_INTERNAL or DT_END_ELLIPSIS);
输出文本。其中的ARect参数的大小容得下两行文本。如果我要写的文本有好几个回车,这个函数会自动忽略第二个以及后面的回车,将三、四行的文本放在第二行一起显示。在XP和98下都是这么显示的。比如我要显示的字符串是一个TMemo里的内容,就像是这样:A
B
GG
MMMMMMMMMMDrawText之就是:A
BGGMMMMMMMMMM但是在Win2000下,虽然第二个以及后面的回车被忽略,这些被忽略的回车会被显示成两个方框,看起来就像是乱码。显示成了这个样子:A
B□□GG□□MMMMMMMMMM晕了,有哪位大虾知道是怎么回事吗?有什么解决办法?