qq魔法表情再研究!高手入


曾看過有文章介紹這個的,也有實現的,方法是截取所在區域的圖然后作為Web控件背景,透明掉FALSH就好了。

可仔細觀察MagicFlash.exe后發現,其實現的不是區域截圖,而是異型窗口!因此本人也自己嘗試通過createwindowsrgn來實現,但是如果連續動畫都用扣圖來實現(像素點循環比較)實在太慢了,根本不可行

不知道各位有什么好的建議或意見?一起討論討論吧

10 个解决方案

#1


我是來學習的

#2


magicflash使用的時候內存會不斷的增加(不知原因),我用SetLayeredWindowAttributes很輕松的實現了背景透明播放flash,但是跟magicflash有區別,magicflash的背景是完全透明的,可以對后面的窗體進行操作,而我作的看起來確實是透明的,卻無法對后面的窗體進行操作,而且一旦系統運行了大型程序,占用不少資源后,SetLayeredWindowAttributes將失效,無法實現透明,而magicflash則不會,不受系統資源的影響。
總結一下:
1。低配置的電腦用SetLayeredWindowAttributes實現不了透明播放flash,即使實現了,也跟magicflash有差別
2。根據magicflash使用的時候,鼠標指針不斷的閃爍,猜測magicflash在不斷的刷新界面

#3


呵呵,關鍵就是那個 “magicflash的背景是完全透明的,可以對后面的窗體進行操作”

#4


但是SetLayeredWindowAttributes用來做那種靜態的透明窗體的話,也是完全透明的,可以對后面的窗體進行操作,跟magicflash一樣

#5


新問題!

我在嘗試SetLayeredWindowAttributes的效果時,編譯提示找不到這個函數???不是把,我是使用xp的阿,而且是vc7,sdk也夠新了,user32.lib肯定也包含了(因為是mfc程序)。。。。。。怪了

#6


哦,原來要自己動態加載的,可以看到效果了

 xdswumei() ,再問一下,SetLayeredWindowAttributes(getsafehwnd(),rgb(12,12,12),0,2)
這樣自己制定了colorkey,為什么也會全透明?

#7


哦,也行了,看了下整體效果。


“但是SetLayeredWindowAttributes用來做那種靜態的透明窗體的話,也是完全透明的,可以對后面的窗體進行操作,跟magicflash一樣”

好像不是這樣的吧,對話框是隱身了(透明度0),但是確實還存在的,“magicflash的背景是完全透明的,可以對后面的窗體進行操作”效果無法實現


期待各位的各種解決方案!

#8


SetLayeredWindowAttributes(getsafehwnd(),rgb(12,12,12),0,2)
這個是全透明的,colorkey應該是
SetLayeredWindowAttributes(getsafehwnd(),rgb(12,12,12),0,1)
對一般的窗體進行透明,確實是完全透明的

#9


的確是透明了,但是並不是異型窗口,因為對話框確實是存在的,鼠標無法選取對話框后面的內容!

#10


我說過了。播flash就不能操作窗體后面的內容,但不播就可以

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com