vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im vb@rchiv gelisteten Tipps und Workshops zu posten.

Hinweis:
Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden!

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

Fragen zu Tipps & Tricks und Workshops im vb@rchiv
Tipp 1325: PrintForm-Ersatz für Korrektes Ausdrucken einer Form 
Autor: Papageno
 Tipp anzeigenDatum: 18.05.11 13:33

Hi,

kann das sein, dass dieser Tipp outdated ist. Selbst wenn ich den Tipp unverändert in einem Projekt laufen lasse, bekomme ich immer einen kompletten Screenshot und nicht den einer einzelnen Form.

Ich suche eigentlich nur nach einer Möglichkeit ein Frame und die darin enthaltenen shapes und Labels in die Zwischenablage zu kopieren.

Ach ja, ich verwende VB 6.0

Gruß
papageno

Beitrag wurde zuletzt am 18.05.11 um 13:35:09 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: PrintForm-Ersatz für Korrektes Ausdrucken einer Form 
Autor: Papageno
Datum: 18.05.11 19:30

Funktionieren tut das mit

    keybd_event VK_SNAPSHOT, 1, 0, 0
Details siehe http://support.microsoft.com/kb/240653/de

Dann hat man aber noch die Fensterrahmen. Dies lässt sich bedingt mit folgenden Tricks beheben http://www.vbarchiv.net/forum/id3_i27721t27674_borderstyle-zur-laufzeit-aendern.html

Ich habe in der Form_load folgendes:
    Call SetWindowPos(hWnd, 0&, 0&, 0&, 0&, 0&, SWP_NOMOVE Or SWP_NOSIZE Or _
    SWP_NOZORDER Or SWP_FRAMECHANGED)
 
    'Wunschwert
    Call SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) Xor _
    (WS_CAPTION Or WS_SYSMENU Or WS_THICKFRAME Or WS_MINIMIZEBOX Or _
    WS_MAXIMIZEBOX))
und die Funktion zum Kopieren in die Zwischenablage ist folgender:
    Call SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) Xor _
    (WS_CAPTION Or WS_SYSMENU Or WS_THICKFRAME Or WS_MINIMIZEBOX Or _
    WS_MAXIMIZEBOX))
    Wait 500
    Me.Refresh
    keybd_event VK_SNAPSHOT, 1, 0, 0
 
    Wait 500
    Call SetWindowPos(hWnd, 0&, 0&, 0&, 0&, 0&, SWP_NOMOVE Or SWP_NOSIZE Or _
    SWP_NOZORDER Or SWP_FRAMECHANGED)
    Me.Refresh
Die Wait Funktion ist notwendig, da sich sonst irgendwelcher Schrott noch im Bildschirmspeicher befindet.

Nicht die sauberste Lösung, aber es klappt so halbwegs (jedes 2. Mal...)

Salü
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: PrintForm-Ersatz für Korrektes Ausdrucken einer Form 
Autor: Papageno
Datum: 25.05.11 09:04

(Flug)Asche auf mein Haupt,

ist ja alles schon in http://www.vbarchiv.net/tipps/tipp_866-form-picturebox-inhalt-als-bild-speichern.html beschrieben. Was in eine Datei passt, passt auch in die Zwischenablage.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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