vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2015
 
zurück
Rubrik: Windows/System22.03.05
CloseClipboard-Funktion

Diese Funktion schließt die Zwischenablage für das aktuelle Programm, so dass keine weiteren Clipboard-Funktions-Aufrufe möglich sind.

Betriebssystem:  Win95, Win98, WinNT 3.1, Win2000, WinMEViews:  4.290 

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise über 100,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 455,- EUR statt 569,- EUR
  • sevDTA 2.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 18,70 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 58,70 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    Deklaration:

    Declare Function CloseClipboard Lib "user32" () As Long

    Beschreibung:
    Diese Funktion schließt die Zwischenablage für das aktuelle Programm, sodass keine weiteren Clipboard-Funktions-Aufrufe möglich sind.

    Parameter:
    keine

    Rückgabewert:
    Ist die Funktion erfolgreich so ist die Rückgabe ein Wert "ungleich 0", andernfalls wird derWert "0" zurückgegeben. Für erweiterte Fehlerinformationen rufen Sie die GetLastError-Funktion auf.

    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 4.290 mal aufgerufen.

    nach obenzurück
     
       

    Druckansicht Druckansicht Copyright ©2000-2015 vb@rchiv Dieter Otter
    Alle Rechte vorbehalten.
    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.

    Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel