VB窗体阴影!

来源:百度知道 编辑:UC知道 时间:2024/06/23 01:02:14
实现带阴影的窗体,黑色的阴影!最好不要控件,

下面是我找到的代码
Private Const CS_DROPSHADOW = &H20000
Private Const GCL_STYLE = (-26)

Private Declare Function GetClassLong Lib "user32" Alias "GetClassLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function SetClassLong Lib "user32" Alias "SetClassLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Private Sub Form_Load()
SetClassLong Me.hwnd, GCL_STYLE, GetClassLong(Me.hwnd, GCL_STYLE) Or CS_DROPSHADOW
End Sub
有个缺点就是,使用了以后,所有窗体就都有阴影了,我只想让这个窗体有,怎么改啊,或者你有更好的方法实现,谢谢!!
好像有使用GDI绘制的阴影区域的,不知道具体是怎么实现!

根据代码,应该没有问题才对……

我知道用GDI+绘制阴影
1.创建DC
2.创建bitmap
3.初始化UpdateLayeredWindow各种参数
4.GDI+画阴影(或者GDI绘制阴影)
5.UpdateLayeredWindow

还可以用SetPixel自己画上去…………