对菜单条附底色

liubocy 2005-07-13 05:03:01
下面的代码仅仅是给弹出的菜单填充颜色,窗体上的菜单条还是windows默认的菜单条颜色。
我不知道给窗体上菜单条填充颜色。主要是找到FillRect函数的前两个参数
希望哪位达人能帮个忙~
zDrawItemStruct tDrawItemStruct
uLong hdc
tagrect rTmp

CopyMemory(tDrawItemStruct,drawitemstruct,48)

hdc = tDrawItemStruct.hdc
rTmp = tDrawItemStruct.rcItem
//填充弹出菜单底色
hBrush = CreateSolidBrush(il_BKColor)
FillRect(hdc,ast_rect,hBrush)
DeleteObject(hBrush)
//填充弹出菜单左边框底色
rTmp.Left = ast_rect.Left
rTmp.top= ast_rect.top
rTmp.Right = ast_rect.Left+20
rTmp.bottom = ast_rect.bottom
hBrush = CreateSolidBrush(il_BKColor_L)
FillRect(hdc,rTmp,hBrush)
DeleteObject(hBrush)

...全文
120 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liubocy 2005-07-15
  • 打赏
  • 举报
回复
找到了SuperMenu,完全满足需要
谢谢
j9dai 2005-07-14
  • 打赏
  • 举报
回复
关注 + 友情UP
网上有SuperMenu啊,搜搜
lzheng2001 2005-07-14
  • 打赏
  • 举报
回复
第一个参数hdc
用api getdc(handle) 来取得,在你这里应该是 getdc(handle(tDrawItemStruct))

第二个 rTmp
其实就是一个矩形的点的结构 left,top,right,bottom 关键就是你如何得到这些点的值
liubocy 2005-07-14
  • 打赏
  • 举报
回复
自己顶
liubocy 2005-07-14
  • 打赏
  • 举报
回复
找了很多了,就是找不到对窗体菜单栏赋颜色的源码。
另FillRect给菜单栏赋颜色的方法不可取,在鼠标点击的时候会将其颜色覆盖掉

680

社区成员

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

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