DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: laidabin
今日帖子: 1
在线用户: 12
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 diystar (diystar) ★☆☆☆☆ -
普通会员
2016/7/4 17:55:50
标题:
如何增加菜单项的高度? 浏览:1580
加入我的收藏
楼主: 在不自绘的情况下,有什么好的方法来增加菜单项的高度,以适应触屏操作?

微软的win8.x,10系统会自动判断是否触屏来增加菜单项高度,它是怎样做到的?但是delphi开发的程序貌似没效果..
----------------------------------------------
http://mcool.appinn.me/
作者:
男 xuchuantao (暗黑天使) ★☆☆☆☆ -
普通会员
2016/7/4 18:58:23
1楼: 微软可能是自己画的
----------------------------------------------
按此在新窗口浏览图片
作者:
男 denddy (denddy) ★☆☆☆☆ -
盒子活跃会员
2016/7/4 19:08:11
2楼: 加入一个空白的imagelist 调整imagelist的图片大小
----------------------------------------------
-
作者:
男 herui (hi) ★☆☆☆☆ -
普通会员
2016/7/5 7:30:11
3楼: procedure TForm1.N1MeasureItem(Sender: TObject; ACanvas: TCanvas;
  var Width, Height: Integer);
begin
   Height:=40;       //设置为你需要的高度
end;
----------------------------------------------
delphier
作者:
男 diystar (diystar) ★☆☆☆☆ -
普通会员
2016/7/6 9:48:34
4楼: @denddy 你试过没有?我试了没效果
----------------------------------------------
http://mcool.appinn.me/
作者:
男 diystar (diystar) ★☆☆☆☆ -
普通会员
2016/7/6 9:50:50
5楼: @herui 这个需要自绘,画虎不成反类犬,自绘有一点丑
----------------------------------------------
http://mcool.appinn.me/
作者:
男 arhaha (lin) ★☆☆☆☆ -
盒子活跃会员
2016/7/6 13:11:41
6楼: X.OwnerDraw := true;

自己绘制,没有什么丑不丑的,菜单又没有什么复杂的地方,主要就是在合适的位置输出文字即可
----------------------------------------------
-
作者:
男 denddy (denddy) ★☆☆☆☆ -
盒子活跃会员
2016/7/6 17:59:04
7楼: @diystar 我从来就是这么做的
当然 前提是你的菜单关联到 imagelist
----------------------------------------------
-
作者:
男 diystar (diystar) ★☆☆☆☆ -
普通会员
2016/7/6 19:05:20
8楼: @denddy 需不需要自绘?我是这样写的:

  ImageList1:=TImageList.Create(Self);
  ImageList1.Height:=50;
  ImageList1.Width:=0;
  PopupMenu1.Images:=ImageList1;

但没效果。然而listview却有效果:

  ListView1.SmallImages:=ImageList1;
----------------------------------------------
http://mcool.appinn.me/
作者:
男 denddy (denddy) ★☆☆☆☆ -
盒子活跃会员
2016/7/7 19:05:54
9楼: @diystar  我都是直接从控件里面拖一个imagelist出来,设置 高度和宽度一样如24 ,然后跟需要显示菜单 关联一起就行了

附件是设为24的效果
此帖子包含附件:
JPEG 图像
大小:18.8K
----------------------------------------------
-
作者:
男 diystar (diystar) ★☆☆☆☆ -
普通会员
2016/7/8 16:46:53
10楼: @denddy 确实可以,谢谢。可能涉及了自绘(delphi帮你自绘了),跟系统的菜单有些不一样(比如对号)
----------------------------------------------
http://mcool.appinn.me/
作者:
男 chonghai (DBlue) ★☆☆☆☆ -
盒子活跃会员
2016/7/8 18:05:16
11楼: 我使用的是 @herui 的方法
在窗口创建时重绘菜单。
简单代码如下:
  pm1.OwnerDraw:=True; //pm1是弹出菜单
  Screen.MenuFont.Size:=15;
  for i := 0 to pm1.Items.Count - 1 do
    pm1.Items[i].OnMeasureItem := PopupMeasureItem;
----------------------------------------------
喜欢Delphi,关注Delphi,愿和广大爱好者交朋友。
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行74.21875毫秒 RSS