继续菜单问题:菜单栏的高度如何修改?

xiongxiao 2009-03-06 10:12:19
MDI窗口菜单栏的高度如何修改?改变系统的风格可以做到,现在就是想在程序中控制
...全文
350 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
happysky 2009-04-09
  • 打赏
  • 举报
回复
在网上搜索supermenu应该能找到
WorldMobile 2009-04-08
  • 打赏
  • 举报
回复
找到handle,然后movewindow,应该可以实现

现在问题出在哪里了?
newease 2009-04-08
  • 打赏
  • 举报
回复
我建议你下载一个白貂的程序框架可以学习一下



网上搜一下应该能找到,如果找不到我可以给你发到邮箱
lovemoreh 2009-04-08
  • 打赏
  • 举报
回复
如果楼主不嫌弃,用ReBar吧,挺好的。
xiongxiao 2009-04-08
  • 打赏
  • 举报
回复
还有哪位有建设性的意见,没有就要结贴了
xiongxiao 2009-03-23
  • 打赏
  • 举报
回复
没解决呀,没解决,哪位有例子,最好是可以改变菜单栏位置,不想放在最顶上,哈
AFIC 2009-03-11
  • 打赏
  • 举报
回复
SystemParametersInfo改完之后立即发消息即可
xiongxiao 2009-03-11
  • 打赏
  • 举报
回复
用的PB11.2
感觉如果lzp的方法可行的话,比较容易实现

AFIC的第一个需要知道在什么时候发送消息
第二个的supermenu没见过,呵
AFIC 2009-03-10
  • 打赏
  • 举报
回复
两个方法吧,一是模拟改变系统的风格(SystemParametersInfo的SPI_SETNONCLIENTMETRICS)欺骗pb
发WM_SETTINGCHANGE(对应也是SPI_SETNONCLIENTMETRICS)给窗口,然后
SystemParametersInfo回原来的值

另一个是利用自绘菜单,这个supermenu是最好的例子
不过他顶层没处理,你把它顶层没处理的代码(窗口measureitem事件映射到的对应方法)
增加设置measureitemstruct的高即可。
WorldMobile 2009-03-09
  • 打赏
  • 举报
回复
不知道你用的PB版本

PB10

用FindwindowEx取得菜单的handle 类名为:FNFIXEDBAR100

然后用API函数中的MoveWindow函数来改变大小即可


MoveWindow

VB声明
Declare Function MoveWindow Lib "user32" Alias "MoveWindow" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
说明
改变指定窗口的位置和大小。顶级窗口可能受最大或最小尺寸的限制,那些尺寸优先于这里设置的参数
返回值
Long,非零表示成功,零表示失败
参数表
参数 类型及说明
hwnd Long,欲移动窗口的句柄
x Long,窗口新的左侧位置
y Long,窗口新的顶部位置
nWidth Long,窗口的新宽度
nHeight Long,窗口的高宽度
bRepaint Long,如窗口此时应重画,则设为TRUE(非零)。FALSE(零)则表明应用程序会自己决定是否重画窗口
lovemoreh 2009-03-08
  • 打赏
  • 举报
回复
OFFICE中的菜单栏、工具栏应该是用的ReBar的继承类。
leef_zh 2009-03-06
  • 打赏
  • 举报
回复
貌似很麻烦!!
JF
yingmu 2009-03-06
  • 打赏
  • 举报
回复
除了api没想到过还有别的办法(虽然也没见过api能搞这个,可如果说一定能改的话,只能是api了)
sjq521521 2009-03-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dawugui 的回复:]
引用楼主 xiongxiao 的帖子:
MDI窗口菜单栏的高度如何修改?改变系统的风格可以做到,现在就是想在程序中控制

这个肯定是使用API来搞,内容太多,没法说得清楚.
[/Quote]
顶这个
jaychensusu 2009-03-06
  • 打赏
  • 举报
回复
menu属性找不到高度的设置,莫非隐藏了一些功能?
eviler 2009-03-06
  • 打赏
  • 举报
回复
见过使用api修改的 ,你下个大图标工具栏应该就有 ,貌似高度也是一个
dawugui 2009-03-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 xiongxiao 的帖子:]
MDI窗口菜单栏的高度如何修改?改变系统的风格可以做到,现在就是想在程序中控制
[/Quote]
这个肯定是使用API来搞,内容太多,没法说得清楚.
Divina 2009-03-06
  • 打赏
  • 举报
回复
搞起来一下!
lllyyymmm 2009-03-06
  • 打赏
  • 举报
回复
PB好像无此功能.
xiongxiao 2009-03-06
  • 打赏
  • 举报
回复
微软在OFFIC中,直接把菜单变成工具条一样的东西了,所以不存在需要改高度过问题了,而且还可以拖动
加载更多回复(2)

604

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 控件与界面
社区管理员
  • 控件与界面社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧