Deklaration: Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long Beschreibung: Parameter:
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 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-Objekt (wird beim Leeren ' der Zwischenablage nicht gelöscht) Private Const CF_GDIOBJLAST = &H3FF ' Das Objekt in der Zwischenablage ist ein GID-Objekt (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 einem 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-Extension 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 ' Inhalt der Zwischenablage 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 13.924 mal aufgerufen. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Buchempfehlung Tipp des Monats Dezemeber 2024 Roland Wutzke MultiSort im ListView-Control Dieses Beispiel zeigt, wie sich verschiedene Sortierfunktionen für ein ListView Control realisieren lassen. Neu! sevPopUp 2.0 Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... |
||||||||||||
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. |