看着菜单颜色可以修改,真是开心啊,结果一到代码中去指定,却说是只读属性,真是太郁闷了,看着其它控件的颜色基本都可以改,就这只能在设计时指定。
哪位知道有啥偏门方法可以在代码中修改不?
------解决方案--------------------
不会有方法的。按手册上说的,你只能改这三个MenuAnimation, MenuImage, MenuTitleText
------解决方案--------------------
SuperMenu不能满足要求?
------解决方案--------------------
先Mark 一下,关注
------解决方案--------------------
这需求也太变态了
------解决方案--------------------
没有试过,尝试下自己做个Mneu吧
------解决方案--------------------
我来了
------解决方案--------------------
菜单颜色…… PB也一样能改,不单只可以改颜色,还能按某张底图来进行修改~ 主菜单可以,子菜单也行
是用API的,用位图刷子就可以了,提示你一点PB代码吧
- C# code
Long ll_hwnd, ll_BitMapBrush Long ll_hMainMenu, ll_hSubMenu Long ll_hBitMap String ls_BitMapFileName MENUINFO lstr_MenuInfo //获取菜单的父句柄 ll_hwnd = Handle(Parent) //创建位图刷子 ll_BitMapBrush = CreateSolidBrush(15920621) //设置MENUINFO结构 lstr_MenuInfo.cbSize = 28 lstr_MenuInfo.cyMax = 0 lstr_MenuInfo.fMask = MIM_BACKGROUND lstr_MenuInfo.hbrBack = ll_BitMapBrush //获取窗口主菜单的句柄 ll_hMainMenu = GetMenu(ll_hwnd) //设置主菜单信息 SetMenuInfo(ll_hMainMenu, lstr_MenuInfo) //重新绘制菜单 DrawMenuBar(ll_hwnd) //释放对象 DeleteObject(ll_hBitMap)
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
学习一下!
------解决方案--------------------
mark
------解决方案--------------------
全局变量的方法的话,即使菜单创建了,我想也可以通过先hide()再show来改变。
至于你说的状态条,如果我没猜错,也就是说你用了ms 的common control的话,
通常的方法就是向你的控件发消息,不过帮你翻了一下只有ie的status bar才支持
SB_SETBKCOLOR这个消息。。。。so,use pfc。
------解决方案--------------------
------解决方案--------------------
学习中 太强了
------解决方案--------------------
这个可以通过 GETCLIENTRECT,GETDC,CREATESOLIDBRUSH,FILLRECT等API,然后在控件的PAIN(PBM_PAIN)事件里重新绘制背景色,
但这样控件原来的外观就没有了,很麻烦,不如自己用用户自定义控件写一个来的快和方便。
------解决方案--------------------
真好,我也接点分
------解决方案--------------------
过来长长见识
------解决方案--------------------
自己写个自定义的菜单对象,这样就好些了
------解决方案--------------------
jf
------解决方案--------------------
学习
------解决方案--------------------