读书人

平滑渐显更换窗口背景像win7更换桌面

发布时间: 2012-01-14 20:02:35 作者: rapoo

平滑渐显更换窗口背景,像win7更换桌面背景那样
最近在改进一个以前写的程序,涉及的界面的优化,受到win7更换桌面背景时的那种效果的启发,于是决定在自己的程序中做一个类似的背景切换功能以增强用户体验。其实要实现这个功能挺简单的,我得思路是这样的:在更换背景的时候,为主窗口创建一个一模一样的子窗口将主窗口完全覆盖,此时先更换主窗口的背景(主窗口被子窗口遮蔽,此时并看不到主窗口的变化),然后将子窗口渐渐透明掉,这时主窗口便逐渐浮现出来。

在主窗口的左上角,我做了一个切换背景实现响应区域,当鼠标进入该区域时,左上角便会缓缓的显示下一张背景图片的局部(左上角的三角形区域),点击一下便响应切换背景。


单看之词片图,难以感受,特奉上链接:http://download.csdn.net/detail/cbuttonst/3839059
以供下载,菜鸟之作,还望包容。

[解决办法]
支持楼主,并且是免费下载。楼主好创意,这个设计不错。
[解决办法]

探讨
最近在改进一个以前写的程序,涉及的界面的优化,受到win7更换桌面背景时的那种效果的启发,于是决定在自己的程序中做一个类似的背景切换功能以增强用户体验。其实要实现这个功能挺简单的,我得思路是这样的:在更换背景的时候,为主窗口创建一个一模一样的子窗口将主窗口完全覆盖,此时先更换主窗口的背景(主窗口被子窗口遮蔽,此时并看不到主窗口的变化),然后将子窗口渐渐透明掉,这时主窗口便逐渐浮现出来。

……

[解决办法]
叼爆了
[解决办法]
恩,只做过换肤,下来看看~~顶楼主~~
[解决办法]
探讨
引用:
引用:
最近在改进一个以前写的程序,涉及的界面的优化,受到win7更换桌面背景时的那种效果的启发,于是决定在自己的程序中做一个类似的背景切换功能以增强用户体验。其实要实现这个功能挺简单的,我得思路是这样的:在更换背景的时候,为主窗口创建一个一模一样的子窗口将主窗口完全覆盖,此时先更换主窗口的背景(主窗口被子窗口遮蔽,此时并看……

[解决办法]
切换速度怎么样,总认为会有一点“卡”的现象会出现
[解决办法]
很不错,看来要学的东西很多啊。
[解决办法]
恩 大概了解了

谢谢楼主分享

类名用汉字 楼主各种牛X 哈哈


[解决办法]
另外比较好的方法是这样的:
1.豪杰之类的桌面视频是桌面背景修改成某种Keycolor(用Shell API),比如紫红色或者(18, 18, 18)黑之类的颜色。然后利用VFW或DirectDraw的Overlay模式,在这种Keycolor上绘制,那么只要屏幕上有这种Keycolor的就会显示上视频。不过这种方式关闭视频加速会失效。而且容易受到某些透明程序的干扰。
2.内存注入DLL到Explorer.exe,桌面其实是一个SysListView32的ListCtrl,获取它的DC或者创建一个DirectDraw表面之类绘制图像。
[解决办法]
效果很好……

读书人网 >VC/MFC

热点推荐