1。得到输出字符串在 屏幕上的象素数。
BOOL GetTextExtentPoint32( HDC hdc, // handle of device context
LPCTSTR lpString, // address of text string
int cbString, // number of characters in string
LPSIZE lpSize // address of structure for string size
);
利用该函数 我们可以得到 字符串在屏幕上的 象素数。
应用举例:使不同长度字符串 输出时 右 对齐。
var
Str:String;
sizeFont:Size;
ndata:integer;
begin
str:='13456';
with Image1.Canvas do
begin
GetTextExtentPoint32(Image1.Canvas.Handle, PChar(str), Length(str), sizeFont);
TextOut(100 - sizeFont.cx,10,str);
str:='13456789';
GetTextExtentPoint32(Image1.Canvas.Handle, PChar(str), Length(str), sizeFont);
TextOut(100 - sizeFont.cx,30,str);
ndata:=-13456;
str:=Inttostr(ndata);
GetTextExtentPoint32(Image1.Canvas.Handle, PChar(str), Length(str), sizeFont);
TextOut(100 - sizeFont.cx,60,str);
end;