vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Metafile (.wmf) mittels API im Clipboard ablegen 
Autor: Mattes
Datum: 10.07.03 14:54

Hallo zusammen,
In meinem Barcodeprogramm soll eine Metafiledatei, die die Barcodegraphik enthält, ins Clipboard koopiert werden. Dies habe ich zunächst mit dem folgenden Code versucht, was, von der Qualität abgesehen, auch gelungen ist:

Clipboard.SetData LoadPicture(App.Path + "\pic\PicBC.emf"), vbCFMetafile

Nach einem Vergleich der Original-Bilddatei (PicBC.emf) und dem Inhalt der Zwischenablage mittels Word war ein eklatanter Unterschied zu erkennen, wobei der Barcode aus der Zwischenablage nicht einzulesen war. Vieleicht wird dort eine Bitmap erzeugt, die für Barcodes mit relativ hoher Datendichte und kleinen Abmessungen sehr ungünstig sind da bei Bitmaps die maximale Auflösung bei einem Pixel liegt.

Meine Frage ist jetzt, wie kann ich die abgespeicherte Datei wirklich exakt ins Clipboard und im Metafile-Format holen. Auf keinen fall als Bitmap . Ich hab es auch schon über die API versucht nur ist immer die Funktion
SetClipboardData aus mir nicht erklährlichen gründen fehlgeschlagen.

Folgenden Code habe ich dazu verwendet:

Private Sub cmd_Zwischenablage_Click()
Dim i As Integer
Dim hDC As Long, hMetafile As Long
 
'Barcode als Metafile abspeichern
Barcode1.SaveImage App.Path + "\Pic\PicBC.emf", eIMEmf, (Barcode1.Width / _
  Screen.TwipsPerPixelX) * 0.76, (Barcode1.Height / Screen.TwipsPerPixelY) * _
  0.76, 600, 600
 
    'Bitmap in den Speicher laden
     hMetafile= LoadPicture(App.Path + "\pic\PicBC.emf")
 
    'Clipboard öffnen
    OpenClipboard Me.hwnd
    'Clipboard Löschen
    EmptyClipboard
    '
    SetClipboardData CF_DSPENHMETAFILE, hMetafile
    CloseClipboard
End Sub
Ich habe auch 4 verschieden Format-Konstanten (z.B. CF_DSPENHMETAFILE)durchprobiert, nichts. Allerdings bin ich schon sehr verwundert, das die Clipboard.SetData Methode schon so schlechte ergebnisse liefert. Ich hoffe mir kann jemand weiterhelfen.

Gruss
Mattes
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Metafile (.wmf) mittels API im Clipboard ablegen824Mattes10.07.03 14:54

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 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