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