|
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"システムフォントの取得"
{ コントロールパネル->画面->デザイン のアイコンに指定したフォントなどを
取得します。}
const
BufSize = $32;
var
Reg: TRegistry;
Buf: array[0..BufSize - 1] of Byte;
FnName: array[0..BufSize - $1 - $12] of Char;
i: Integer;
begin
FnName := '';
Reg := TRegistry.Create;
try
if Reg.OpenKey('Control Panel\desktop\windowmetrics', False) then
begin
Reg.ReadBinaryData('IconFont', Buf, BufSize);
for i := $12 to $31 do begin
if Buf[i] = $0 then
Break;
FnName[i - $12] := Char(Buf[i]);
end;
end;
with FFont do begin
Name := FnName;
Size := Buf[0];
end;
{
Reg.ReadBinaryDataの第一引数の対応は以下の通りです。
'CaptionFont' アクティブタイトルバー & 非アクティブタイトルバー
'IconFont' アイコン(エクスプローラなどで表示されるフォント)
'MenuFont' メニュー & 選択項目
'MessageFont' メッセージボックス
'SmCaptionFont' パレットタイトル
'StatusFont' ヒント
なにしろ素人なもので、間違いなどあればご指摘お願いします。
趣味プログラミングでは、$31を0x31とか書いて怒られたりさえしてます(^^;)
}
// BAC (VZY02322)
Original document by BAC 氏 ID:(VZY02322)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|