VB高手进,Setwindowlong函数

[复制链接]
查看11 | 回复2 | 2008-7-3 00:55:11 | 显示全部楼层 |阅读模式
给窗体实现淡入淡出效果,资料:
http://topic.csdn.net/t/20041004/18/3426636.html
网上的代码我试了很好用,我用这个方法给我的两个特殊形状(多边形)的窗体实现淡出效果(没用淡入效果)时遇到了问题,淡出的时候屏幕会闪烁一下,好像在刷屏.而一个简单窗体则没有这种问题.我一步步调试发现问题在这两句代码:
SetWindowLong hwnd, GWL_EXSTYLE, Ret
SetLayeredWindowAttributes hwnd, 0, TouMing, LWA_ALPHA
其中一个窗体在执行完第一句是消失了,到下面一句时才又出现.所以我想了解Setwindowlong是怎样的一个函数,怎么窗体会消失的.正常是不消失的啊.
不要只是copy网上的资料,网上的我都看遍了,看不太懂百度百科.

回复

使用道具 举报

千问 | 2008-7-3 00:55:11 | 显示全部楼层
Form_Load事件里面增加:SetMouseIn Me.hwnd, 0, True, FalseSetMouseIn Me.hwnd, 255, True, False试试。
回复

使用道具 举报

千问 | 2008-7-3 00:55:11 | 显示全部楼层
当透明度为0时,窗体失去了焦点..所以你应该控件你的TouMing在一个1-255之间的值,避免为0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行