注册 登录
编程论坛 Delphi论坛

如何改变菜单中的字体大小

qpfmates 发布于 2008-09-21 10:49, 3842 次点击
我用delphi  编程,创建了一个menu菜单,我想问的是如何改变菜单字体大小?属性面板没找到font属性,如何改,请教高手,先谢谢了!
1 回复
#2
ruanjian21102008-09-26 17:15
menu菜单的属性面板是没有font属性的,我们可以通过写代码来改变菜单字体大小,窗体上放一MainMenu1,包含的菜单项为MenuItem1,MenuItem2...  
设置MainMenu的OwnerDraw为True,   
MenuItem1的OnDrawItem事件:   
procedure   TForm1.MenuItem1DrawItem(Sender:TObject;ACanvas: TCanvas;   ARect: TRect; Selected:Boolean);   
begin   
  ACanvas.FillRect(ARect);   
  ACanvas.Font.Size:=20;         //设置为足够大的字号   
  ACanvas.Font.Name:='Times   New   Roman';     //设置为你喜欢的字体   
                  //输出菜单项   
ACanvas.TextOut(ARect.Left,ARect.Top,(Sender   as TMenuItem).Caption);      
  end;   
  MenuItem1的OnMeasureItem事件:   
procedure   TForm1.MenuItem1MeasureItem(Sender:   TObject;   ACanvas:   TCanvas; var  Width,Height: Integer);   
  begin   
    Height:=40;       //设置为足够高以容纳你的菜单项   
    Width:=200;     //设置为足够宽以容纳你的菜单项   
  end;   
将其他菜单项的OnDrawItem设置为MenuItem1DrawItem OnMeasureItem设置为 MenuItem1DrawItem   
  上述代码在我的机器上(D6+Winxp)测试通过,希望对你有所帮助...
1