拖动窗口,但背景却无法更新,怎么办? 本帖最后由 kofot2002 于 2010-10-21 12:35:12 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不要在OnEraseBkgnd里面绘图,把代码移到OnPaint中。在OnEraseBkgnd里面绘图肯定闪 一般绘制的动作都需要放到ondraw或者onpaint中了。 OnEraseBkgnd 其实也可以。总觉得你的这个函数写的有问题 ,问题还很大!Bitmap img(_T("H:\\project_vs\\test\\wtl03\\wtl03\\Debug\\images\\20091121152825234.png"));img需要定义成成员变量。你这样的话,每次都要读取图片,费时。 谢谢建议。我把代码放到OnPaint()中,无法显示图片唉~,我做了个输出ATLTRACE(_T("sssssssssssssssss onPaint:%d"),n++);我发现WM_PAINT一直在发送消息,控件也显示不出来了,但背景图还是没显示出来。 我现在,在OnInitDialog()中使用User32.DLL的SetLayeredWindowAttributes设置了对话框为透明效果,这样背景在拖动时,就不会保留原初始化的背景了,但是有一个新的问题,如下图:这张做背景的PNG图,周边是透明的,结果在显示的时候,是黑色,我该如果使这些原本在png中透明的地方在运行后变成完全透明? 好了,我找到办法了,我不在使用PNG图,而是改用bmp、jpg等图片,用PS给原PNG多加一层纯蓝色[RGB(0,0,255)]背景层,利用SetLayeredWindowAttributes,过滤掉掉该纯蓝色,不使用Graphics去DrawImage了,改用CImage来加载背景图,之后就可以像MSN或迅雷的浮动小窗口那样任意拖动而透明了,最后在这里还是要谢谢大家的帮助和建议。 sip的问题 问几个关于LISTVIEW控件 界面的问题。 获取jpg文件中的RGB值,或访问里面的数据 [求助]高手请进,关于MCI录音并保存wav文件的问题 COM本质论(特快) 请问_bstr_t类型的变量,当为空的时候是NULL吗? 100分求vissual sourcesafe6.0的有效下载地址 关于unicode转换的问题,高手进 《英雄》大家看过没有,觉得怎么样? 如何用SW_HIDE方式来DoModal一个对话框应用程序? MFC工程在多字节的环境下不会丢失字节 而unicode却丢失了数据 关于LISTVIEW图表的问题.
一般绘制的动作都需要放到ondraw或者onpaint中了。
OnEraseBkgnd 其实也可以。
总觉得你的这个函数写的有问题 ,问题还很大!Bitmap img(_T("H:\\project_vs\\test\\wtl03\\wtl03\\Debug\\images\\20091121152825234.png"));
img需要定义成成员变量。
你这样的话,每次都要读取图片,费时。
我把代码放到OnPaint()中,无法显示图片唉~,我做了个输出ATLTRACE(_T("sssssssssssssssss onPaint:%d"),n++);
我发现WM_PAINT一直在发送消息,控件也显示不出来了,但背景图还是没显示出来。