請問如何更改TMainmenu的字體大小 |
答題得分者是:wameng
|
shing.net
中階會員 發表:207 回覆:124 積分:66 註冊:2002-03-16 發送簡訊給我 |
|
likush
高階會員 發表:5 回覆:235 積分:103 註冊:2002-10-08 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 可將如下程式碼寫在TMainMenu的OnDrawItem事件中﹕
begin ACanvas.Font.Size := 12; ACanvas.TextOut(ARect.Left, ARect.Top, 'MainMenu項目的Caption'); end;注﹕需將TMainMenu的OwnerDraw屬性值設為True; ========================= 大病初愈﹐休養調整中... ========================= 發表人 - cashxin2002 於 2004/10/19 12:04:44
------
忻晟 |
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
procedure TForm1.FormCreate(Sender: TObject);
var
ncm: TNonClientMetrics;
PixelsPerInch,FontSize: Integer;
begin
ncm.cbSize := sizeof(TNonClientMetrics);
SystemParametersInfo(
SPI_GETNONCLIENTMETRICS,
sizeof(NONCLIENTMETRICS),
@ncm,
0
);
FontSize:=12;
PixelsPerInch := GetDeviceCaps(GetDC(0), LOGPIXELSY);
ncm.lfMenuFont.lfFaceName:='新細明體';
ncm.iMenuHeight:= -MulDiv(8,PixelsPerInch,72)*(-2);
ncm.lfMenuFont.lfHeight := -MulDiv(FontSize, PixelsPerInch, 72); SystemParametersInfo(
SPI_SETNONCLIENTMETRICS,
sizeof(NONCLIENTMETRICS),
@ncm,
SPIF_UPDATEINIFILE);
end; 原理同 likush 大大所言。 to cashxin2002 大大:
您的方法需要自己畫文字,否則我試的結果是空白。
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |