delphi 中的mainmenu的属性items的文字字体大小怎么改变啊,请高手指点,

解决方案 »

  1.   

    设属性OwnerDraw为True,此时,可通过它下面TMenuItem的对象的OnDrawItem
    和OnMeasureItem这两个事件修改菜单显示特性
      

  2.   

    窗体放一MainMenu1,至少添加一层unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Menus;type
      TForm1 = class(TForm)
        MainMenu1: TMainMenu;
        N11: TMenuItem;
        N21: TMenuItem;
        N31: TMenuItem;
        N41: TMenuItem;
        procedure N21DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
          Selected: Boolean);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.N21DrawItem(Sender: TObject; ACanvas: TCanvas;
      ARect: TRect; Selected: Boolean);
    begin
        N21.Caption:='2222222222222';//我不知道怎么设长度,呵呵
        Acanvas.Font.Size:=14;
        Acanvas.TextOut(0,0,'ddd');
    end;end.
      

  3.   

    procedure TForm1.N21MeasureItem(Sender: TObject; ACanvas: TCanvas;
      var Width, Height: Integer);
    begin
        Width:=菜单长度;
        Height:=菜单高度;
    end;
      

  4.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, Buttons, ToolWin, ComCtrls, Menus;type
      TForm1 = class(TForm)
        MainMenu1: TMainMenu;
        F1: TMenuItem;
        Exit1: TMenuItem;
        procedure F1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width,
          Height: Integer);
        procedure F1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
          Selected: Boolean);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.F1MeasureItem(Sender: TObject; ACanvas: TCanvas;
      var Width, Height: Integer);
    begin
      Width := Acanvas.TextWidth(F1.Caption) + 8;
      Height := Acanvas.TextHeight(F1.Caption) + 4;
    end;procedure TForm1.F1DrawItem(Sender: TObject; ACanvas: TCanvas;
      ARect: TRect; Selected: Boolean);
    begin
      if Selected then
      begin
        ;//在这里画选中时的背景色
        ACanvas.Font.Color := clHighLightText;
      end
      else
        ACanvas.Font.Color := clWindowText;
      ACanvas.TextRect(ARect, Arect.Left+4, Arect.Top+2, F1.Caption); // 注册快捷键的 & 字符被画出来了。
    end;end.
      

  5.   

    lanxingw(Qao Kei),  ahjoe(强哥),谢谢,怎么给你们加分啊,可以加两个人吧