2011-04-30 124 views

回答

9

你可以做

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.cxextent.cy,分别。

最后一行然后将使用TextOutW在客户区域上绘制水平和垂直居中的字符串。

相关问题