Mega Code Archive

 
Categories / Delphi / Graphic
 

How to getset menus font size

Title: How to get/set menu`s font size? Question: How to get/set menu's font size? Answer: You may use the following functions to get/set menu's font size: { Returns menu font size } 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; { Set menu font size } 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;