自绘菜单Menu字体改变大小
2017-10-20 09:29
295 查看
Delphi : 自绘菜单Menu字体改变大小
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
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
相关文章推荐
- 菜单选项OptionsMenu实现改变字体颜色和改变字体大小的功能
- Android 动态改变TextView字体大小
- js改变宽高字体大小透明度多物体模块运动
- WTL 自绘ComboBox改变颜色和大小
- 动态改变actionbar的menu菜单MenuItem的显示
- VC++中改变Static Text字体的大小
- Visual C++中动态改变控件和对话框字体(大小) (转载)
- 改变CEdit中字体大小与颜色
- VC++中改变Static Text字体的大小
- mfc如何改变静态文本框字体大小及mfc按钮问题用CButtonST进行图形按钮处理
- 改变网页中的浏览风格(字体大小和背景颜色)
- jquery实现实时改变网页字体大小、字体背景色和颜色的方法
- javaScript小练习:实现文本字体大小的改变
- AUTOCAD 如何批量改变字体大小?
- 利用水晶报表公式改变字体大小
- VS2010 如何修改程序菜单字体大小?
- UIWebView改变字体大小
- 防止因弹出提示框,而 改变布局字体大小.
- UIBarButtonItem 、UITabBarItem 改变字体,大小,图片
- 如何改变编辑框字体的大小