Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As LongPrivate Sub Form_Load() Dim hbitbmp Me.AutoRedraw = True '从graphics方法到一个持久性位图的输出调用createcompatiblebitmap函数,建一个位图,其高度和宽度都为0 hbitmap = CreateCompatibleBitmap(Me.hdc, 0, 0) '调用selectobject函数,把所建的位图放到设备环境中 SelectObject Me.hdc, hbitmap '强制完全重画一个对象 Me.Refresh end sub
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As LongPrivate Sub Form_Load()
Dim hbitbmp
Me.AutoRedraw = True
'从graphics方法到一个持久性位图的输出调用createcompatiblebitmap函数,建一个位图,其高度和宽度都为0
hbitmap = CreateCompatibleBitmap(Me.hdc, 0, 0)
'调用selectobject函数,把所建的位图放到设备环境中
SelectObject Me.hdc, hbitmap
'强制完全重画一个对象
Me.Refresh
end sub
你的代码在win2000下不太对头啊。在移动窗口后无效。
你这种方法没有WIN2000 中 USER32.DLL中SetLayeredWindowAttributes效果好,如果窗体中有图像就没有半透明效果,还有就是移动窗体后不能自动刷新
2000下没有试过