Deklaration: Declare Function CloseClipboard Lib "user32" () 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 der Zwischenablage ist ein Handle _ ' zu einer %BITMAPINFO%-Struktur Private Const CF_DIBV5 = 17 ' (Win 2000/XP) Das Objekt in der 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 ein _ ' Sprach-ID der für Text-Stings 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 in der Zwischenablage sind Daten zu _ ' einem Microsoft Pen Extensions Private Const CF_PRIVATEFIRST = &H200 ' Das Objekt in der Zwischenablage ist _ ' ein privater Handle Private Const CF_PRIVATELAST = &H2FF ' Das Objekt in der Zwischenablage ist _ ' ein privater 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 ' Zwischenablage Inhalt 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 Format Bildfeld leeren Picture1.Cls End Select End Sub Diese Seite wurde bereits 9.798 mal aufgerufen. |
sevAniGif (VB/VBA) Anzeigen von animierten GIF-Dateien Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. Buchempfehlung Tipp des Monats September 2024 Dieter Otter Übergabeparameter: String oder Array? Mit der IsArray-Funktion lässt sich prüfen, ob es sich bei einem Übergabeparameter an eine Prozedur um ein Array oder einer "einfachen" Variable handelt. 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. |