H苏木半夏 H苏木半夏
关注数: 88 粉丝数: 305 发帖数: 1,172 关注贴吧数: 32
求大神,关于MFC半透明按钮 RT,主窗口和控件都是用自定义图片。按钮是半透明的,试了很多方法,效果都不理想。 如果只是简单的直接刷新按钮,全透明和不透明的图片不会有问题,但是半透明的图片会一直叠加,必须刷新主窗口背景。 网上找了很多,基本上就这几种方法: 1.按钮状态改变时,通知父窗口刷新,GetParent()->Invalidate(),但是这样就需要刷新整个窗口,我需要的只是刷新按钮,效率太低。用InvalidateRect跟Invalidate没有多少差别。 2.获取父窗口背景图片,按钮刷新时,先绘制父窗口背景对应区域,再绘制按钮图片。 Create时先获取一个按钮在父窗口中所处位置CRect ParentRect; CPaintDC ParentDc(GetParent()); CPaintDC dc(this); CRect rect; GetClientRect(&rect); BitBlt(dc.GetSafeHdc(),0,0,rect.Width(),rect.Height(),ParentDc, ParentRect.left, ParentRect.top,SRCAND); ……然后绘制按钮图片。 于是问题来了,这个方法获取到的父窗口背景,是贴上按钮图片之后的,有人说先把按钮隐藏,再显示……隐藏的时候主窗口会刷新一次,显示再刷新一次,加上按钮的刷新……大概等于Invalidate好几次了。 求大神指点,怎么破这个局?我的用的是CImage贴图,目前的解决办法是在加载按钮时,把父窗口的CImage指针传给按钮,然后按钮刷新时,先用这个CImage绘制一部分。效果是实现了,但是总感觉怪怪的,大神们有好点的方法指点吗?
V5去巴萨的真相 其实在小法去巴萨的时候,转后条款写的很苛刻,不止是加入回购而已,具体内容不好说。反正跟V5的转会有关。 小法:我要去巴萨。 温格:不许去。 小法:我要去巴萨。 温格:破厂需要你。 小法:…… 温格:…… 小法:让我去吧,我念旧。 瓜掉啦:真的,他就是想回家,不为其他的。 温格:好吧,我信你。那个瓜,来,我们谈谈合同。 …… …… 瓜掉啦:像他这么念旧的人,以后离开巴萨,肯定是回你厂的,给你个回购条款如何? 温格:那万一呢? 瓜掉啦:没有万一。不信我给你加个条款,小法转会去其他地方的话,巴萨给你破厂2000万。(瓜掉啦心想:我反正是主教练,不卖人就是了) 温格偷偷问小法:你看如何?我信你。 小法:这个可以有。 …… …… 小法:我要回来了。 温格:周薪5万? 小法:不说比巴萨多,起码得15万吧。 温格:家里没闲钱,也没空位置,272刚买来不久总不好意思就赶走吧。 小法:记得那个条款吗? 温格:好主意。 …… …… 穆鸟:嘿,这不是小法吗?听说你男友劈腿了? 小法:哎,是啊。不过听说那个人是你女友? 穆鸟:是前女友……我俩报复他们? 小法:好想法。 …… …… 温格:小法去大车了,快给钱! 恩里克:这事跟我没关系吧。 温格:合同就在这,自己看着办。 恩里克:说出去不好听啊,毕竟这个条款曝光会引起争议。 温格:多说无益,赶紧给钱。 恩里克:要么你再给个人,用不上的,大家面子上都好看点。 温格转身偷偷问小跟班V5:来这养伤如何?西班牙气候比英国好太多,还包吃包住,给家里减点负担。 V5:可以啊,正想跟皮克交流交流。 温格:那就这么定了,给我1900万,剩下100万不要了,我们再商谈加个条款。
1 下一页