在VB中实现切换大图片时无闪烁

来源:百度知道 编辑:UC知道 时间:2024/06/24 14:02:33
在VB中有大图片(比如1024×768)时会有闪烁现象,如何避免这一现象呢?有人这样做的:

下面这个函数就是为代替Refresh方法而写的,在全区刷新时,它比Refresh方法略快一点,但若用于局部刷新,它就会快很多很多了。
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hdc As Long) As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long

Public Sub BoxRefresh(dhwd As Long, dHdc As Long, X As Long, y As Long, w As Long, h As Long)
Dim fdc As Long
fdc = GetDC(dhwd)
BitBlt fdc, X, y, w, h, dHdc, X, y, vbSrcCopy
ReleaseDC dhwd, fdc
End Sub

我不理解。各位有更好更详细的方法吗?如果满意,还可以再加分。不懂的不要乱笿。谢谢高手!
请 图杭科技 举例 详细代码。把hide属性改为true不可行.满意还可以再加分。谢谢各位高手指点。我是菜鸟。

用其他函数,而不用BitBlt,
闪烁在VB中有大图片,不明确,图片在form或picture中不同的.
fdc = GetDC(dhwd)是获得某一设备的句柄,以便准对操作.在VB中可细化明确对象,使运行更快.
Refresh是刷新,一般不用Refresh命令就不会闪烁.

可考虑先把hide属性改为true,再加载,最后把hide属性改为false,layer属性改为最上层。

不懂的不要乱笿

【’【