General

6.46 Copiare un'area dello schermo nella clipboard.
  Silvio Berruti
' Autore: sconosciuto
' Descrizione: questa routine scritta per Access 2 permette
' di copiare nella clipboard qualunque area dello schermo
' per gli usi che ritieni pił opportuni.
 
Option Compare Database
DefInt A-Z
Declare Sub ReleaseDC Lib "User" (ByVal hWnd, ByVal hDC)
Declare Sub OpenClipBoard Lib "User" (ByVal hWnd)
Declare Sub EmptyClipBoard Lib "User" ()
Declare Sub SetClipBoardData Lib "User" (ByVal CBFormat, ByVal hBitMap)
Declare Sub CloseClipBoard Lib "User" ()
Declare Sub SelectObject Lib "GDI" (ByVal hDC, ByVal hObj)
Declare Sub DeleteDC Lib "GDI" (ByVal hDC)
Declare Sub BitBlt Lib "GDI" (ByVal DestDC, ByVal X, ByVal Y, ByVal BWidth, _
    ByVal BHeight, ByVal SourceDC, ByVal X, ByVal Y, ByVal Constant&)
Declare Function CreateDC Lib "GDI" (ByVal Driver$, ByVal Dev&, ByVal O&, _
    ByVal Init&)
Declare Function CreateCompatibleDC Lib "GDI" (ByVal hDC)
Declare Function CreateCompatibleBitmap Lib "GDI" (ByVal hDC, _
ByVal BWidth, ByVal BHeight)
 
Sub ScrnCap (Lt, Top, Rt, Bot)
    rWidth = Rt - Lt
    rHeight = Bot - Top
    SourceDC = CreateDC("DISPLAY", 0, 0, 0)
    DestDC = CreateCompatibleDC(SourceDC)
    BHandle = CreateCompatibleBitmap(SourceDC, rWidth, rHeight)
    SelectObject DestDC, BHandle
    BitBlt DestDC, 0, 0, rWidth, rHeight, SourceDC, Lt, Top, &HCC0020
    Wnd = Screen.ActiveForm.hWnd
    OpenClipBoard Wnd
    EmptyClipBoard
    SetClipBoardData 2, BHandle
    CloseClipBoard
    DeleteDC DestDC
    ReleaseDC DHandle, SourceDC
End Sub


Se pensate di avere del materiale freeware interessante e volete pubblicarlo, allora leggete qui.