Option Explicit
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 StretchBlt Lib "gdi32" (ByVal hdc 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 nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As Any) As Long
Private Const ZOOM = 1 / 3
Private Sub Timer1_Timer()
Dim P(2) As Long
Me.Cls
P(2) = GetDC(0)
GetCursorPos P(0)
StretchBlt Me.hdc, 0, 0, Me.ScaleWidth, Me.ScaleHeight, P(2), P(0) - (Me.ScaleWidth * ZOOM) \ 2, P(1) - (Me.ScaleHeight * ZOOM) \ 2, Me.ScaleWidth * ZOOM, Me.ScaleHeight * ZOOM, vbSrcCopy
ReleaseDC 0, P(2)
End Sub