『Delphi 2009 handbook―Delphi最新プログラミングエッセンス』を読み返していたら、アプリケーションのデフォルトフォントを設定する方法を発見しました。
Delphi 2009からApplication.DefaultFontでアプリケーションのデフォルトフォントを設定することができます。
Application.DefaultFontの値を変更すると、ParentFontプロパティがtrueに設定されてているフォームと、そのフォームのコンポーネントのフォントがDefaultFontで設定したフォントに変更されます。
サンプルプログラムで動作を確認してみました。
フォームのParentFontプロパティの値をtrueに変更します。
ボタンを押すとフォント選択ダイアログを表示します。
選択されたフォントをデフォルトフォントに設定します。
procedure TForm1.Button1Click(Sender: TObject);
begin
FontDialog1.Font := Application.DefaultFont;
if FontDialog1.Execute() then
Application.DefaultFont := FontDialog1.Font;
end;
実行します。
フォントを変更します。
そうすると、フォーム上のコンポーネントのフォントが変更されました。
TMainMenuコンポーネントにはParentFontプロパティがないので、フォントが変更されないようです。
メインフォームだけではなく、すべてのフォームのフォントが変更されます。