请教关于自绘按钮的问题

路人甲cw 2011-10-12 09:12:19
我建了一个按钮,设置了BS_OWNERDRAW,在按钮绘图放在wm_paint并拦截了wm_erasebkgnd事件,现在的问题是当我在父窗口的文本框中输入文本时按钮的风格就变为系统默认的了(被覆盖了),此时必须拦截父窗口的wm_drawitem才能保证不被系统自动绘制.
我试了把不把按钮设置为BS_OWNERDRAW风格,那么在win7和win2003下当我在父窗口的文本框中输入文本时按钮的风格仍然是我自己绘制的,而在xp下就不行了,会被系统自动绘制而覆盖我绘制的风格.
请问自绘按钮的最佳方法是什么?有没有办法只在按钮中完成所有的绘制工作而不用管父窗口中的事件?
...全文
69 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
路人甲cw 2011-10-15
  • 打赏
  • 举报
回复
现在之前的刷新问题已经解决了,但新的问题来了.
我把按钮所在位置的父窗口背景截下来做按钮背景,以达到透明的效果,现在的问题是,如果按钮在一个tab控件中的不同tabpage里那么截到的背景就最上面的那个tabpage的背景,不知道有没有什么办法解决?
allen_lanyuhai 2011-10-13
  • 打赏
  • 举报
回复
这个是我通过继承CButton类去自绘的按钮控件...我想我这个应该符合你的要求...嘻嘻..
http://download.csdn.net/download/allen_lanyuhai/3658158
路人甲cw 2011-10-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 allen_lanyuhai 的回复:]

这个是我通过继承CButton类去自绘的按钮控件...我想我这个应该符合你的要求...嘻嘻..
http://download.csdn.net/download/allen_lanyuhai/3658158
[/Quote]
谢谢,但我不是在VC下自绘这个按钮的
路人甲cw 2011-10-13
  • 打赏
  • 举报
回复
Up Up!
路人甲cw 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hezhe1008 的回复:]

按钮的继承类不是CButton吗
[/Quote]
不是的,我是用PowerBuilder自绘按钮的
呔妖怪来嘛 2011-10-12
  • 打赏
  • 举报
回复
按钮的继承类不是CButton吗

15,979

社区成员

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

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