このサンプルアプリケーションは、メニューのフォントサイズの変更方法を示しています。
注意: フォントサイズを変更するとシステム設定である「画面のプロパティ」-「デザイン」のメニューフォントサイズが変更されます。したがって依存しているアプリケーションすべてが 変更されます。
{ メニューフォントサイズの取得 } 
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;
  

