SetLayeredWindowAttributes 这个函数在2000以后才能用。我看了好多资料,98下实现方案基本上都是:先抓背景图片,然后对其进行半透明处理(这个好做),最后再将处理过的图片贴到程序窗口,模拟实现半透明(这些都很简单)。但是问题是:如果背景变了的话(这个是很经常的),程序就得重新抓图,然后再将半透明处理过的图片贴到程序窗口,请问这一步怎么做,苦思冥想无解。就像flashGet的那个悬浮框,移到什么地方都可以看到其窗口后面的东西。求高手指点一下如何做啊,100分送上。
解决方案 »
- 已经隐藏了win7的任务栏,怎么隐藏开始按钮
- VC通过缓存查询ACCSEE数据库
- 请教一个线程内 对话框的问题,望大家解答? 谢谢! 祝中秋节快乐!
- 急:如何能够通过字体名称获得该字体的字符集集合?(高手救火)
- 100分求助:怎样在一个发布文件中注册控件
- MFC 的N步走
- 莫名其妙的程序调试问题!
- 请问哪里有可以用sdk控制变焦的工业相机啊?
- 为什么不回答专业问题,而去回答污七八糟的非技术问题????有没有函数可以做以下计算:两个数字,530,10,int a,b;b=502;a=10;b=b???a;最后b的值为51,请问该函数是什么???(
- 采用SendNotifyMessage会丢失消息吗?
- vc 窗口句柄问题
- MFC 如何在主窗口绘制的操作同时能绘制到子窗口上
在WM_MOVE消息响应中做这一步
SetLayeredWindowAttributes这个函数也是用在98下面用的,不能用静态加载,而应该是LoadLibrary("User32.dll") / GetProcAddress
http://www.powerbasic.com/support/forums/Forum4/HTML/005095.html
Minimum DLL Version user32.dll
Header Declared in Winuser.h, include Windows.h
Import library User32.lib
Minimum operating systems Windows 2000 如LS所述可以式一下。
可以在需要抓背景的时候,把显示透明窗口的窗口移出桌面,如移到(1000,2000)等。然后抓背景,再把窗口移回来就可以了。
如果是视频窗口,gif窗口之前肯定只能抓到黑屏......
Wince系统的手机上的。因为看到2000以前都没有SetLayeredWindowAttributes 这个函数,而98下flashget可以实现半透明窗口,所以想问问
98下该如何实现。我最大的问题是如何捕捉被自己程序窗口遮挡住的那部分背景。我想过:如果自己程序先隐藏自己窗口,然后sleep个几百毫秒,是可以捕捉到的,但是这种方法不能经常用。我的程序是:以手机的待机界面为父窗口,滚动显示新闻的程序。(只有当手机界面切换到待机界面才会出现)不会有背景窗口重叠在播放FLASH或动画GIF的网页前面的这种情况请大家帮帮忙啊。小弟感激不尽。
除非你拥有DesktopWindow的窗口绘制过程,不然你用 DesktopWindow的DC得到的就是你看到的windows下还是用动态导出SetLayeredWindowAttributes API 来实现吧
至于手机上,你肯定知道下面的窗口的绘制过程,在绘制过程里保存一个bmp,然后再和你的窗口做alpha 像素混合就行了
这应该更好做呀
手机界面才多大,就算把整个DeskTop窗口拷下来也没有多大。