| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 338 人关注过本帖
标题:如何改变菜单中的字体大小
收藏  订阅  推荐  打印 
qpfmates
Rank: 3Rank: 3
等级:中级会员
帖子:263
积分:2846
注册:2008-9-20
如何改变菜单中的字体大小

我用delphi  编程,创建了一个menu菜单,我想问的是如何改变菜单字体大小?属性面板没找到font属性,如何改,请教高手,先谢谢了!
搜索更多相关主题的帖子: 字体  菜单  
2008-9-21 10:49
ruanjian2110
Rank: 12Rank: 12Rank: 12
来自:武汉
等级:版主
威望:3
帖子:360
积分:4746
注册:2008-5-25

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)测试通过,希望对你有所帮助...

武汉信控科技有限公司:http://www.whxc.net 超越技术,本身就是一个美好技术。。。。。。
2008-9-26 17:15
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.048732 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved