【发布时间】:2011-04-30 12:15:14
【问题描述】:
如何在Delphi 7中使用GetTextExtentPoint32W获取宽字符串输出前的像素宽高?
【问题讨论】:
标签: delphi text canvas delphi-7
如何在Delphi 7中使用GetTextExtentPoint32W获取宽字符串输出前的像素宽高?
【问题讨论】:
标签: delphi text canvas delphi-7
你可以的
procedure TForm1.FormPaint(Sender: TObject);
var
extent: TSize;
S: WideString;
begin
S := 'This is the integral sign: '#$222b;
if not GetTextExtentPoint32W(Canvas.Handle, PWideChar(S), length(S), extent) then
RaiseLastOSError;
TextOutW(Canvas.Handle, (Width - extent.cx) div 2, (Height - extent.cy) div 2,
PWideChar(S), length(S));
end;
GetTextExtentPoint32W 将宽度和高度分别放在extent.cx 和extent.cy 中。
最后一行将使用TextOutW 绘制在客户区水平和垂直居中的字符串。
【讨论】: