改一下字体.
有些字体所有字符都是一样宽的,有些则是变宽字体.
你用不同的字体显示这段文本试试:
MMMMMM
IIIIII
如果你在输入时用的是变宽字体,可能就不太好改了.如果输入时用的是等宽字体,显示时也用等宽字体,一般就没问题. ____ ____
\ p \ / g /
\ l \_/ n /
\ a o /
\ i s /
\ n /
\_/
有些字体所有字符都是一样宽的,有些则是变宽字体.
你用不同的字体显示这段文本试试:
MMMMMM
IIIIII
如果你在输入时用的是变宽字体,可能就不太好改了.如果输入时用的是等宽字体,显示时也用等宽字体,一般就没问题. ____ ____
\ p \ / g /
\ l \_/ n /
\ a o /
\ i s /
\ n /
\_/
希望‘:’能够对齐。
改字体。例如宋体
\ p \ / g /
\ l \_/ n /
\ a o /
\ i s /
\ n /
\_/
tab字符是定长而不是变长。
memo中能行是因为windows的edit控件做的手脚(估计使用的是tabbedtextout)
aRect := Rect(0,0,200,20);
DrawText(PaintBox1.Canvas.Handle,'MMMMMM'#9':',-1,aRect,DT_EXPANDTABS);
aRect := Rect(0,20,200,40);
DrawText(PaintBox1.Canvas.Handle,'IIIIII'#9':',-1,aRect,DT_EXPANDTABS);
在Arial和Courier下是不一样的.
我看你的情形好象是第一行有两个Tab符,第二行有一个Tab符,在某种字体下,'Qoutation Date'比'Qoutation No.'多占了一个Tab区,结果冒号是对齐的;
在另一种字体下,它们在同一个Tab区结果就不对齐了.