delphi下拉菜单(mainmenu)字体怎么设置?

2025-05-16 18:08:56
推荐回答(1个)
回答(1):

将菜单的的OwnerDraw为True

然后自定义重绘事件,就可以了,代码如下:

procedure TForm1.N1DrawItem(Sender: TObject; ACanvas: TCanvas;
  ARect: TRect; Selected: Boolean);
begin
   ACanvas.FillRect(ARect);
   ACanvas.Font.Size:=15;         //设置为足够大的字号
   ACanvas.Font.Name:= '仿宋';     //设置为你喜欢的字体
   //输出菜单项
   ACanvas.TextOut(ARect.Left,ARect.Top,(Sender as TMenuItem).Caption);
end;

procedure TForm1.N1MeasureItem(Sender: TObject; ACanvas: TCanvas;
  var Width, Height: Integer);
begin
  Height:=40;       //设置为足够高以容纳你的菜单项
  Width:=200;     //设置为足够宽以容纳你的菜单项
end;

把要重绘的菜单项的事件指以上事件即可,效果如下:

右键弹出菜单相同