Bueno, estuve investigando un poco y note que para cambiar el tipo de fuente en un TMenu es necesario interceptar el evento OnDrawItem de los MenuItems, por ejemplo asi:
Código Delphi
[-]
procedure TForm1.Prueba11DrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; Selected: Boolean);
begin
ACanvas.Font.Name := 'Comic Sans MS';
ACanvas.TextRect(ARect, ARect.Left, ARect.Top, StringReplace(TMenuItem(Sender).Caption,'&', '', []));
end;
Pero como lo que queremos es cambiarlo en todos los items de menu del TMainMenu, pues podemos recorrer todos los Items de menu asignandole a este evento uno que nosotros creamos "manualmente", asi por ejemplo:
Código Delphi
[-]
procedure TForm1.AplicarEstoAlDibujar(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; Selected: Boolean);
begin
ACanvas.Font.Name := 'Comic Sans MS';
ACanvas.TextRect(ARect, ARect.Left, ARect.Top, StringReplace(TMenuItem(Sender).Caption,'&', '', []));
end;
procedure TForm1.CambiarFontMenus(vMenu :TMenuItem; Indice :Integer = 0);
var
i :Integer;
begin
if vMenu.MenuIndex <> -1 then
begin
vMenu.OnDrawItem := AplicarEstoAlDibujar; end;
if vMenu.Count > 0 then
for i := 0 to vMenu.Count -1 do
begin
CambiarFontMenus(vMenu.Items[i]); end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
CambiarFontMenus(Self.Menu.Items);
end;
Espero que todo este asunto te sirva de algo
.