AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Anderer Drucker im PrintDlgEx-Dialog
Thema durchsuchen
Ansicht
Themen-Optionen

Anderer Drucker im PrintDlgEx-Dialog

Ein Thema von markbolten · begonnen am 11. Mär 2009 · letzter Beitrag vom 12. Mär 2009
Antwort Antwort
markbolten

Registriert seit: 5. Jun 2005
25 Beiträge
 
#1

Anderer Drucker im PrintDlgEx-Dialog

  Alt 11. Mär 2009, 18:01
hi,

wie kann ein Drucker , der in dem PrintDlgEx-Dialog ausgewäht wird (abweichend vom Standarddrucker), aktiviert werden? Im Rückgaberecord wird kein Druckername bzw Druckerindex angegeben.
Der Standarddrucker ist weiterhin als aktives Ausgabegerät gesetzt.

Danke im Voraus für Lösungen/Hilfe!
  Mit Zitat antworten Zitat
_BlackDragon_

Registriert seit: 4. Dez 2007
Ort: Eschweiler
64 Beiträge
 
#2

Re: Anderer Drucker im PrintDlgEx-Dialog

  Alt 12. Mär 2009, 16:14
Hi.

Ich habe selber noch nicht damit gearbeitet, deshalb versuche ich das wiederzugeben, was ich der
MSDN entnehmen kann.
  • [1.] In der PRINTDLGEX-Struktur ist ein Parameter hDevMode, welcher ein Handle auf eine DEVMODE-Struktur
    darstellt. Aus dieser Struktur kannst du (unter anderem) den Druckernamen auslesen.

    [2.] Weiterhin existiert ein Parameter hDevNames, welcher ein Handle auf eine DEVNAMES-Struktur
    darstellt. In dieser Struktur stehen die Informationen zum Drucker, welcher im Dialog ausgewählt
    wurde.

    [3.] Welchen Rückgabewert erhälst du den vom Dialog, bzw. schonmal versucht zu prüfen ob der Aufruf
    einen Fehler verursacht hat?

hier nochmal die Links zu MSDN:

MSDN -> PrintDlgEx
MSDN -> PRINTDLGEX-Structure
MSDN -> DEVMODE-Structure
MSDN -> DEVNAMES-Structure

Hoffe das ich helfen konnte.


Gruss

BlackDragon
  Mit Zitat antworten Zitat
markbolten

Registriert seit: 5. Jun 2005
25 Beiträge
 
#3

Re: Anderer Drucker im PrintDlgEx-Dialog

  Alt 12. Mär 2009, 17:38
Zitat von _BlackDragon_:
Hi.

[1.] In der PRINTDLGEX-Struktur ist ein Parameter hDevMode, welcher ein Handle auf eine DEVMODE-Struktur
darstellt. Aus dieser Struktur kannst du (unter anderem) den Druckernamen auslesen.
Danke, nun habe ich die Lösung:

Delphi-Quellcode:
devmode := GlobalLock(pdex.hDevMode);
test := string(devmode);
printer.PrinterIndex := printer.Printers.IndexOf(test) ;
markbolten
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz