好象不行,除非你重写Delphi的菜单源码。

解决方案 »

  1.   

    据本人所知,菜单用的是Micsoft的标准字体.....
    好像不能更改.  除非叫Borlandc/Inspise来改.
      

  2.   

    { 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;