|
Home - Programmieren - Visual Basic - Zugriff auf die Zwischenablage in VB
Hinweis: Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich. Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren. [Druckansicht] [Als E-Mail senden] [Kommentar verfassen] Einleitung Viele Anwendungen nutzen - manchmal auch unbewusst - die Windows-Zwischenablage. Zum Beispiel können Sie zur Laufzeit im Kontextmenü einer TextBox die Funktion Kopieren auswählen, die den markierten Text dann in die Zwischenablage überträgt. Ganz unbemerkt wird hierbei der Text auch in andere Formate konvertiert. Nehmen wir mal an, Sie bearbeiten gerade in einem Bildverarbeitungsprogramm eine JPEG-Grafik. Nun möchten Sie diese in ein Word-Dokument kopieren. Dazu kopieren Sie die Grafik in die Zwischenablage, wobei Windows automatisch auch eine Kopie im Bitmap- und im Enhanced MetaFile-Format (Dateiendungen EMF und WMF) erstellt. Auch Text ist nicht gleich Text. Kommen wir zurück zum Beispiel mit der TextBox. Wenn Sie hier einen Text in die Zwischenablage befördern, werden auch von diesem Text verschiedene Formate erstellt, z.B. normaler Text, Text im Unicode-Format (für verbesserte Ausführungsgeschwindigkeit bei Stringfunktionen) und MS-DOS kompatibler Text mit verschiedenen Sonderzeichen. Dieser Artikel beschäftigt sich mit dem Lesen und Schreiben von Daten in die Zwischenablage. Hierbei werde ich auf die beiden Formate Text und Bitmap eingehen. Das Clipboard-Objekt Visual Basic stellt dem Programmierer ein eigenes Objekt Clipboard zur Verfügung, das alle Funktionen rund um die Zwischenablage kapselt. Ich werde Ihnen anhand eines Beispielprojekts zeigen, welche Methoden dass Objekt zur Verfügung stellt und wie Sie damit umgehen. Beispielprojekt Für das Beispielprojekt müssen Sie ein Standard-EXE Projekt erstellen und dem Projekt folgende Steuerelemente hinzufügen (das Form-Objekt ist bereits vorhanden):
Die TextBox wird für die Anzeige und für das Einfügen von Text in die Zwischenablage benötigt, die PictureBox dient zur Anzeige der in der Zwischenablage enthaltenen Grafik. Für das Einfügen einer Grafik in die Zwischenablage muss die Datei C:\test.bmp vorhanden sein. ![]() Anzeigen des Inhalts der Zwischenablage CommandButton1 ist für die Anzeige des Inhalts der Zwischenablage zuständig. Hier werden nicht wie für das Einfügen zwei Schaltflächen benötigt, da das Clipboard-Objekt von Visual Basic eine Methode zur Verfügung stellt, die es uns erlaubt das Format der Daten zu lesen. Der Code für den CommandButton1 lautet wie folgt:
Über Clipboard.GetFormat und Übergabe einer Konstanten (entweder vbCFText oder vbCFBitmap) kann man herausfinden, ob Daten im gewünschten Format in der Zwischenablage enthalten sind. Ist dies der Fall, gibt die Funktion True zurück, ansonsten False. Für das Auslesen von Text hat das Clipboard-Objekt eine eigene Funktion GetText, die den Text in der Zwischenablage als String zurückgibt. Für alle anderen Formate gibt es die Methode GetData, die die Daten im gewünschten Format zurückgibt. In diesem Beispiel ist das das Bitmap-Format. Falls keins der beiden Formate in der Zwischenablage enthalten ist, wird eine entsprechende Meldung angezeigt.Text einfügen Der Text, der in Text1 geschrieben wurde wird über die Schaltfläche "Text einfügen" in die Zwischenablage kopiert.
Dafür reicht eine Codezeile. Über SetText wird der gewünschte Wert als erster Parameter an die Funktion übergeben. Die Zwischenablage enthält nun den Text der in Text1 steht.Grafik einfügen Fast genauso einfach wie das Einfügen von Text ist das Kopieren einer Grafik in die Zwischenablage. Bitte beachten Sie, dass eine Bitmap namens test.bmp im Verzeichnis C:\ vorhanden sein muss, damit das Programm korrekt ausgeführt werden kann.
Über LoadPicture wird die Grafik als Picture-Objekt aus der Datei geladen und direkt der SetData-Methode als erster Parameter übergeben. Als zweiten Parameter erwartet die Funktion eine Konstante, die festlegt, in welchem Format sich die als erster Parameter übergebenen Daten befinden.Zwischenablage löschen Auch das Löschen der Zwischenablage geht über das Clipboard-Objekt sehr einfach. Hierfür muss einfach die Methode Clear aufgerufen werden, die keine Parameter erwartet.
Der Vollständigkeit halber zum Schluss noch die Funktion zum Beenden.
FazitÜber das Objekt Clipboard ist es sehr einfach Text und Grafiken in die Zwischenablage zu kopieren und auszulesen. Schwieriger wird es bei benutzerdefinierten Daten oder allgemein bei Daten mit dem das Clipboard-Objekt nicht umgehen kann (z.B. Audiodaten). Benötigt man fortgeschrittene Funktionen für die Zwischenablage, so muss man auf die Windows API zurückgreifen, die mit allen in der Zwischenablage enthaltenen Daten umgehen kann. Nichtsdestotrotz bietet das Clipboard-Objekt eine komfortable Möglichkeit zum Zugriff auf einfache Funktionen der Zwischenablage.
|
Autoren:03760
Artikel:00815 Glossar:04618 News:08554 Userbeiträge:16077 Queueeinträge:00024
Unternehmensimage im Internet aufbauen
Hotels.com geht Offline DMSFACTORY erleichtert Implementierung von DMS über Skype [Mehr News]
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
|