图片碎裂是因为当节点展开的时候没有强制背景刷新 你试试在LGYAN(紫衣随想)的代码那里添加声明: Public Const WM_LBUTTONDOWN = &H201 Public Const WM_RBUTTONDOWN = &H204 Public Const WM_RBUTTONDBLCLK = &H206 Public Const WM_LBUTTONDBLCLK = &H203然后把下面的代码: ElseIf wMsg = WM_HSCROLL Or wMsg = WM_VSCROLL Or wMsg = WM_MOUSEWHEEL Then 'Force a repaint to keep the bitmap 'tiles lined up InvalidateRect hWnd, 0, 0 修改成:ElseIf wMsg = WM_HSCROLL Or wMsg = WM_VSCROLL Or wMsg = WM_MOUSEWHEEL _ or wMsg = WM_LBUTTONDOWN or wMsg = WM_RBUTTONDOWN or wMsg = WM_RBUTTONDBLCLK or wMsg = WM_LBUTTONDBLCLK Then 'Force a repaint to keep the bitmap 'tiles lined up InvalidateRect hWnd, 0, 0看看结果如何
------------------------------
你说的那个连接的代码,我看过了,是可以加背景图片,但是一单击每项时就会重刷图片,就象N多图片不规则的重叠,效果很差。
LGYAN(紫衣随想) 你有时间吗,帮忙优化下你说的那个连接代码吗,非常感谢。我比较菜,看了很久不知道怎么改。
你试试在LGYAN(紫衣随想)的代码那里添加声明:
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONDBLCLK = &H206
Public Const WM_LBUTTONDBLCLK = &H203然后把下面的代码:
ElseIf wMsg = WM_HSCROLL Or wMsg = WM_VSCROLL Or wMsg = WM_MOUSEWHEEL Then
'Force a repaint to keep the bitmap
'tiles lined up
InvalidateRect hWnd, 0, 0
修改成:ElseIf wMsg = WM_HSCROLL Or wMsg = WM_VSCROLL Or wMsg = WM_MOUSEWHEEL _
or wMsg = WM_LBUTTONDOWN or wMsg = WM_RBUTTONDOWN or wMsg = WM_RBUTTONDBLCLK or wMsg = WM_LBUTTONDBLCLK Then
'Force a repaint to keep the bitmap
'tiles lined up
InvalidateRect hWnd, 0, 0看看结果如何
----------------------
非常感谢,调试通过了。