記事カテゴリ

ユーザー機能


 2024年4月25日(木) 19:56 JST

[Delphi] メニューのフォントサイズの取得・設定方法

  • 投稿者:
  • 表示回数
    9,535
以下のサンプルコードを参考にしてください。
このサンプルアプリケーションは、メニューのフォントサイズの変更方法を示しています。

注意: フォントサイズを変更するとシステム設定である「画面のプロパティ」-「デザイン」のメニューフォントサイズが変更されます。したがって依存しているアプリケーションすべてが 変更されます。
{ メニューフォントサイズの取得 } 
function GetMenuFontSize: integer; 
var 
  ncm: TNonClientMetrics; 
  PixelsPerInch: integer; 
begin 
  ncm.cbSize := sizeof(TNonClientMetrics); 
  SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS),
    @ncm, SPIF_UPDATEINIFILE); 
  PixelsPerInch := GetDeviceCaps(GetDC(0), LOGPIXELSY); 
  Result := -MulDiv(ncm.lfMenuFont.lfHeight, 72, PixelsPerInch); 
end; 

{ メニューフォントサイズの設定 } 
procedure SetMenuFontSize(FontSize: integer); 
var 
  ncm: TNonClientMetrics; 
  PixelsPerInch: Integer; 
begin 
  ncm.cbSize := sizeof(TNonClientMetrics); 
  SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS),
    @ncm, 0); 
  PixelsPerInch := GetDeviceCaps(GetDC(0), LOGPIXELSY); 
  ncm.lfMenuFont.lfHeight := -MulDiv(FontSize, PixelsPerInch, 72); 
  SystemParametersInfo(SPI_SETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS),
    @ncm, SPIF_UPDATEINIFILE); 
end;

トラックバック

このエントリのトラックバックURL:
https://www.blackcat.xyz/trackback.php/ProgramingFAQ_del0018

以下のコメントは、その投稿者が所有するものでサイト管理者はコメントに関する責任を負いません。