用delphi编出来的程序,在中文操作系统下,其标题总是用中文宋体。
如果标题本身全是中文,那也能过得去,但一旦用到了几个英文字母,
问题就来了:像M或W这样的字宽比较大的字母,就完全看不清楚了,
(不妨大家可以试试是否如此)。现请问各位,如何改变form标题(caption)所用的字体(fontname)?
如果标题本身全是中文,那也能过得去,但一旦用到了几个英文字母,
问题就来了:像M或W这样的字宽比较大的字母,就完全看不清楚了,
(不妨大家可以试试是否如此)。现请问各位,如何改变form标题(caption)所用的字体(fontname)?
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm1 = class(TForm)
private
{ Private declarations }
procedure WMNCPAint(var Mes : TWMNCPaint); message WM_NCPAINT;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm} procedure TForm1.WMNCPAint(var Mes : TWMNCPaint);
var
ACanvas : TCanvas;
begin
ACanvas := TCanvas.Create;
try
ACanvas.Handle := GetWindowDC(Form1.Handle);
with ACanvas do begin
Brush.Color := clActiveCaption;
Font.Name := 'Times New Roman';
Font.Size := 10;
Font.Color := clCaptionText;
Font.Style := [fsItalic, fsBold];
TextOut(GetSystemMetrics(SM_CYMENU) + GetSystemMetrics(SM_CXBORDER),
Round((GetSystemMetrics(SM_CYCAPTION) - Abs(Font.Height))/2) +1,
'中华人民共和国!');
end;
finally
ReleaseDC(Form1.Handle, ACanvas.Handle);
ACanvas.Free;
end;
end;end.