Deklaration: Declare Function GetClipboardData Lib "user32" ( ByVal wFormat As Long ) As Long Beschreibung: Parameter:
wFormat Konstanten: Const CF_BITMAP = 2 ' Das Objekt in der Zwischenablage ist ein Handle eines Bitmaps Const CF_DIB = 8 ' Das Objekt in der Zwischenablage ist ein Handle zu einer BITMAPINFO-Struktur Const CF_DIBV5 = 17 ' ( Win 2000/XP ) Das Objekt in der Zwischenablage ist ein Handle zu einer BITMAPV5HEADER-Struktur Const CF_DIF = 5 ' Das Objekt in der Zwischenablage ist ein "Software Arts" Const CF_DSPBITMAP = &H82 ' Das Objekt in der Zwischenablage ist ein Handle zu einem Bitmap in einem n-Format Const CF_DSPENHMETAFILE = &H8E ' Das Objekt in der Zwischenablage ist ein Handle zu einer Enhanced Metadatei in einem n-Format Const CF_DSPMETAFILEPICT = &H83 ' Das Objekt in der Zwischenablage ist Handle zu einer Meta Grafik in einem n-Format Const CF_DSPTEXT = &H81 ' Das Object in der Zwischenablage ist ein Handle zu einem String in einem n-Format Const CF_ENHMETAFILE = 14 ' Das Objekt in der Zwischenablage ist ein Handle zu einer Enhanced Metadatei Const CF_GDIOBJFIRST = &H300 ' Das Objekt in der Zwischenablage ist ein GID-Object (Wird beim Leeren der Zwischenablage nicht gelöscht) Const CF_GDIOBJLAST = &H3FF ' Das Objekt in der Zwischenablage ist ein GID-Object (Wird beim Leeren der Zwischenablage nicht gelöscht) Const CF_HDROP = 15 ' Das Objekt in der Zwischenablage ist eine Liste von Dateihandles Const CF_LOCALE = 16 ' Das Objekt in der Zwischenablage ist eine Sprach-ID, die für Text-Strings in der Zwischenablage benutzt wurde Const CF_METAFILEPICT = 3 ' Das Object in der Zwischenablage ist ein Handle zu einem Metafile Bild Const CF_OEMTEXT = 7 ' Das Objekt in der Zwischenablage ist ein Handle zu einem OEM-String Const CF_OWNERDISPLAY = &H80 ' Das Objekt in der Zwischenablage ist ein benutzerdefinierter Anzeigetyp Const CF_PALETTE = 9 ' Das Objekt in der Zwischenablage ist ein Handle zu einer Palette Const CF_PENDATA = 10 ' Das Objekt der Zwischenablage sind Daten zu einem Microsoft Pen Extensions Const CF_PRIVATEFIRST = &H200 ' Das Objekt in der Zwischenablage ist ein r-Handle Const CF_PRIVATELAST = &H2FF ' Das Objekt in der Zwischenablage ist ein r-Handle Const CF_RIFF = 11 ' Das Objekt in der Zwischenablage ist ein Handle zu einer Audiodatei Const CF_SYLK = 4 ' Das Objekt in der Zwischenablage ist ein symbolischer Link Const CF_TEXT = 1 ' Das Objekt in der Zwischenablage ist ein Handle zu einem String Const CF_WAVE = 12 ' Das Object in der Zwischenablage ist ein Handle zu einer Wavedatei Const CF_TIFF = 6 ' Das Objekt in der Zwischenablage ist ein Handle zu einem Tiff-Bitmap Const CF_UNICODETEXT = 13 ' Das Objekt in der Zwischenablage ist ein Handle zu einem Unicode-String Rückgabewert: Beispiel: Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function CloseClipboard Lib "user32" () As Long Private Declare Function EnumClipboardFormats Lib "user32" ( _ ByVal wFormat As Long) As Long Private Declare Function CountClipboardFormats Lib "user32" () As Long Private Declare Function GetClipboardData Lib "user32" ( _ ByVal wFormat As Long) As Long Private Declare Function GetClipboardFormatName Lib "user32" _ Alias "GetClipboardFormatNameA" ( _ ByVal wFormat As Long, _ ByVal lpString As String, _ ByVal nMaxCount As Long) As Long Private Declare Function lstrlen Lib "kernel32" _ Alias "lstrlenA" ( _ ByVal lpString As Any) As Long Private Declare Function lstrcpy Lib "kernel32" _ Alias "lstrcpyA" ( _ ByVal lpString1 As Any, _ ByVal lpString2 As Any) As Long Private Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long Private Declare Function GlobalUnlock Lib "kernel32" ( _ ByVal hMem As Long) As Long Private Declare Function SelectObject Lib "gdi32" ( _ ByVal hdc As Long, _ ByVal hObject As Long) As Long ' BitBlt dwRop-Konstante Private Const SRCCOPY = &HCC0020 ' Zwischenablage Format-Konstanten Private Const CF_BITMAP = 2 ' Das Objekt in der Zwischenablage ist ein Handle ' eines Bitmaps Private Const CF_DIB = 8 ' Das Objekt in de Zwischenablage ist ein Handle ' zu einer %BITMAPINFO%-Struktur Private Const CF_DIBV5 = 17 ' (Win 2000/XP) Das Objekt in de Zwischenablage ' ist ein Handle zu einer %BITMAPV5HEADER%-Struktur Private Const CF_DIF = 5 ' Das Objekt in der Zwischenablage ist ein ' "Software Arts' Data Interchange Format" Private Const CF_DSPBITMAP = &H82 ' Das Objekt in der Zwischenablage ist ein ' Handle zu einem Bitmap in einem privaten Format Private Const CF_DSPENHMETAFILE = &H8E ' Das Objekt in der Zwischenablage ist ein Handle ' zu einer Enhanced Metadatei in einem privaten Format Private Const CF_DSPMETAFILEPICT = &H83 ' Das Objekt in der Zwischenablage ' ist ein Handle zu einer Meta Grafik in einem privaten Format Private Const CF_DSPTEXT = &H81 ' Das Objekt in der Zwischenablage ist ein ' Handle zu einem String in einem privaten Format Private Const CF_ENHMETAFILE = 14 ' Das Objekt in der Zwischenablage ist ein ' Handle zu einer Enhanced Metadatei Private Const CF_GDIOBJFIRST = &H300 ' Das Objekt in der Zwischenablage ist ein GID-Object ' (wird beim Leeren der Zwischenablage nicht gelöscht) Private Const CF_GDIOBJLAST = &H3FF ' Das Objekt in der Zwischenablage ist ein GID-Object ' (wird beim Leeren der Zwischenablage nicht gelöscht) Private Const CF_HDROP = 15 ' Das Objekt in der Zwischenablage ist eine ' Liste von Dateihandles Private Const CF_LOCALE = 16 ' Das Objekt in der Zwischenablage ist eine Sprach-ID, ' die für Text-Strings in der Zwischenablage benutzt wurde Private Const CF_METAFILEPICT = 3 ' Das Objekt in der Zwischenablage ist ein ' Handle zu einem Metafile Bild Private Const CF_OEMTEXT = 7 ' Das Objekt in der Zwischenablage ist ein ' Handle zu eime OEM-String Private Const CF_OWNERDISPLAY = &H80 ' Das Objekt in der Zwischenablage ist ' ein benutzerdefinierter Anzeigetyp Private Const CF_PALETTE = 9 ' Das Objekt in der Zwischenablage ist ein ' Handle zu einer Palette Private Const CF_PENDATA = 10 ' Das Objekt der Zwischenablage sind Daten zu ' einem Microsoft Pen Extensions Private Const CF_PRIVATEFIRST = &H200 ' Das Objekt in der Zwischenablage ist ' ein privates Handle Private Const CF_PRIVATELAST = &H2FF ' Das Objekt in der Zwischenablage ist ' ein privates Handle Private Const CF_RIFF = 11 ' Das Objekt in der Zwischenablage ist ein Handle ' zu einer Audiodatei Private Const CF_SYLK = 4 ' Das Objekt in der Zwischenablage ist ein ' symbolischer Link Private Const CF_TEXT = 1 ' Das Objekt in der Zwischenablage ist ein Handle ' zu einem String Private Const CF_WAVE = 12 ' Das Objekt in der Zwischenablage ist ein Handle ' zu einer Wavedatei Private Const CF_TIFF = 6 ' Das Objekt in der Zwischenablage ist ein Handle ' zu einem Tiff-Bitmap Private Const CF_UNICODETEXT = 13 ' Das Objekt in der Zwischenablage ist ein ' Handle zu einem Unicode-String ' Zwischenablageinhalt ermitteln Private Sub Command1_Click() Dim Retval As Long, lngFormat As Long, strFormat As String * 256, i As Integer ' Liste leeren List1.Clear ' Zwischenablage öffnen Call OpenClipboard(Me.hwnd) ' Anzahl der verschiedenen Formate der Zwischenablage ermitteln Debug.Print "Anzahl verschiedender Clipboard-Formate: " & CountClipboardFormats() Do i = i + 1 ' Das nächste Format aus der Zwischenablage ermitteln lngFormat = EnumClipboardFormats(lngFormat) If lngFormat = 0 Then Exit Do ' Format auswerten Select Case lngFormat Case CF_TEXT strFormat = "Text" & vbNullChar Case CF_BITMAP strFormat = "Bitmap" & vbNullChar Case CF_WAVE strFormat = "Wavedatei" & vbNullChar ' case... für weitere Formattypen Case Else ' Benutzerdefinierten Typ ermitteln If GetClipboardFormatName(lngFormat, strFormat, _ Len(strFormat)) = 0 Then strFormat = "Unbekannt" & vbNullChar End If End Select List1.AddItem Format$(i, "00") & ": " & Left$(strFormat, InStr(1, _ strFormat, vbNullChar) - 1) & " (" & CStr(lngFormat) & ")" List1.ItemData(List1.NewIndex) = lngFormat Loop ' Clipboard schließen Call CloseClipboard End Sub ' Selektierte CF_TEXT oder CF_BITMAP der Zwischenablage im Bildfeld anzeigen Private Sub List1_Click() Dim hBitmap As Long, TmpStr As String, StrLen As Long, hTmpStr As _ Long, pTmpStr As Long Select Case List1.ItemData(List1.ListIndex) Case CF_TEXT ' Text in das Bildfeld zeichnen ' Zwischenablage öffnen OpenClipboard Me.hwnd ' Handle zum String ermitteln hTmpStr = GetClipboardData(CF_TEXT) ' Pointer des Strings ermitteln pTmpStr = GlobalLock(hTmpStr) ' String in eine Variable kopieren TmpStr = Space(lstrlen(ByVal pTmpStr)) Call lstrcpy(TmpStr, ByVal pTmpStr) ' Pointer zerstören um Ressourcen zu sparen GlobalUnlock hTmpStr ' Zwischenablage schließen CloseClipboard ' String im Bildfeld anzeigen Picture1.Cls Picture1.Print TmpStr Case CF_BITMAP ' Bitmap aus der Zwischenablage in das Bildfeld kopieren ' Zwischenablage öffnen OpenClipboard Me.hwnd ' Bitmap dem Bildfeld zuweisen hBitmap = GetClipboardData(CF_BITMAP) SelectObject Picture1.hdc, hBitmap Picture1.Refresh ' Zwischenablage schließen CloseClipboard Case Else ' Bei einem nichtunterstützten Formt Bildfeld leeren Picture1.Cls End Select End Sub Diese Seite wurde bereits 16.634 mal aufgerufen. |
Neu! sevCommand 4.0 Professionelle Schaltflächen im modernen Design! Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Buchempfehlung Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |