vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2020
 
zurück
Rubrik: Drucken22.03.05
PrinterProperties-Funktion

Diese Funktion zeigt den Druckereigenschaften-Dialog eines geöffneten Druckers an.

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

Deklaration:

Declare Function PrinterProperties Lib "winspool.drv" ( _
  ByVal hWnd As Long, _
   ByVal hPrinter As Long) As Long

Beschreibung:
Diese Funktion zeigt den Druckereigenschaften-Dialog eines geöffneten Druckers an.

Parameter:
hWndErwartet das Fensterhandle des Fensters, das diesen Dialog aufruft.
hPrinterErwartet das Handle eines geöffneten Druckers zu dem dieser Dialog aufgerufen wird.

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 können Sie die GetLastError-Funktion aufrufen.

Beispiel:

Private Declare Function OpenPrinter Lib "winspool.drv" _
  Alias "OpenPrinterA" ( _
  ByVal pPrinterName As String, _
  phPrinter As Long, _
  pDefault  As Any) As Long
Private Declare Function PrinterProperties Lib "winspool.drv" ( _
  ByVal hWnd  As Long, _
  ByVal hPrinter As Long) As Long
Private Declare Function ClosePrinter Lib "winspool.drv" ( _
  ByVal hPrinter As Long) As Long
 
Private Type DEVMODE
  dmDeviceName As String * 32
  dmSpecVersion As Integer
  dmDriverVersion As Integer
  dmSize As Integer
  dmDriverExtra As Integer
  dmFields As Long
  dmOrientation As Integer
  dmPaperSize As Integer
  dmPaperLength As Integer
  dmPaperWidth As Integer
  dmScale As Integer
  dmCopies As Integer
  dmDefaultSource As Integer
  dmPrintQuality As Integer
  dmColor As Integer
  dmDuplex As Integer
  dmYResolution As Integer
  dmTTOption As Integer
  dmCollate As Integer
  dmFormName As String * 32
  dmUnusedPadding As Integer
  dmBitsPerPixel As Integer
  dmPelsWidth As Long
  dmPelsHeight As Long
  dmDisplayFlags As Long
  dmDisplayFrequency As Long
  dmICMMethod As Long
  dmICMIntent As Long
  dmMediaType As Long
  dmDitherType As Long
  dmReserved1 As Long
  dmReserved2 As Long
  dmPanningWidth As Long ' (Win 2000)
  dmPanningHeight As Long ' (Win 2000)
End Type
 
Private Type PRINTER_DEFAULTS
  pDatatype As String
  pDevMode As DEVMODE
  DesiredAccess As Long
End Type
 
' PRINTER_DEFAULTS DesiredAccess-Konstanten
Private Const PRINTER_ACCESS_ADMINISTRATOR = &H4 ' Nur Administratorzugriff
Private Const PRINTER_ACCESS_USE = &H8 ' Standardzugriff, nur drucken
Private Const PRINTER_ALL_ACCESS = &HF000C ' Voller Zugriff zur Synchronisation 
 
' DEVMODE dmFields-Konstanten
Private Const DM_ORIENTATION = &H1 ' dmOrientation wird gefüllt / gelesen
Private Const DM_PAPERSIZE = &H2 ' dmPaperSize wird gefüllt / gelesen
Private Const DM_PAPERLENGTH = &H4 ' dmPaperLenght wird gefüllt / gelesen
Private Const DM_PAPERWIDTH = &H8 ' dmPaperWidth wird gefüllt / gelesen
Private Const DM_SCALE = &H10 ' dmScale wird gefüllt / gelesen
Private Const DM_COPIES = &H100 ' dmCopies wird gefüllt / gelesen
Private Const DM_DEFAULTSOURCE = &H200 ' dmDefaultSource wird gefüllt / gelesen
Private Const DM_PRINTQUALITY = &H400 ' dmPrintQuality wird gefüllt / gelesen
Private Const DM_COLOR = &H800 ' dmColor wird gefüllt / gelesen
Private Const DM_DUPLEX = &H1000 ' dmDuplex wird gefüllt / gelesen
Private Const DM_YRESOLUTION = &H2000 ' dmYResolution wird gefüllt / gelesen
Private Const DM_TTOPTION = &H4000 ' dmTTOption wird gefüllt / gelesen
Private Const DM_COLLATE = &H8000 ' dmCollate wird gefüllt / gelesen
Private Const DM_FORMNAME = &H10000 ' dmFormName wird gefüllt / gelesen
Private Const DM_LOGPIXELS = &H20000 ' dmLogPixels wird gefüllt / gelesen
Private Const DM_BITSPERPEL = &H40000 ' dmBitsPerPixel wird gefüllt / gelesen
Private Const DM_PELSWIDTH = &H80000 ' dmPelsWidth wird gefüllt / gelesen
Private Const DM_PELSHEIGHT = &H100000 ' dmPelsHeight wird gefüllt / gelesen
Private Const DM_DISPLAYFLAGS = &H200000 ' dmDisplayFlags wird gefüllt / gelesen 
Private Const DM_DISPLAYFREQUENCY = &H400000 ' dmDisplayFrequency wird gefüllt / gelesen 
Private Const DM_ICMMETHOD = &H800000 ' dmICMMethod wird gefüllt / gelesen
Private Const DM_ICMINTENT = &H1000000 ' dmICMIntent wird gefüllt / gelesen
Private Const DM_MEDIATYPE = &H2000000 ' dmMediaType wird gefüllt / gelesen
Private Const DM_DITHERTYPE = &H4000000 ' dmDitherType wird gefüllt / gelesen
Private Const DM_PANNINGWIDTH = &H20000000 ' dmPanningWidth wird gefüllt / gelesen 
Private Const DM_PANNINGHEIGHT = &H40000000 ' dmPanningHeight wird gefüllt / gelesen 
 
' DEVMODE dmOrientation-Konstanten
Private Const DMORIENT_PORTRAIT = 1 ' Portrait wurde gewählt (vertikal drucken) 
Private Const DMORIENT_LANDSCAPE = 2 ' Landscape wurde gewählt (horizontal drucken) 
 
' DEVMODE dmPaperSize-Konstanten
Private Const DMPAPER_LETTER = 1 ' Blatt 8,5 x 11 Inch
Private Const DMPAPER_LEGAL = 5 ' Blatt 8,5 x 14 Inch
Private Const DMPAPER_10X11 = 45 ' 10 x 11 Inch
Private Const DMPAPER_10X14 = 16 ' 10 x 14 Inch
Private Const DMPAPER_11X17 = 17 ' 11 x 17 Inch
Private Const DMPAPER_15X11 = 46 ' 15 x 11 Inch
Private Const DMPAPER_9X11 = 44 ' 9 x 11 Inch
Private Const DMPAPER_A_PLUS = 57 ' A Plus Blatt
Private Const DMPAPER_A2 = 66 ' Din A2 Blatt
Private Const DMPAPER_A3 = 8 ' Din A3 Blatt
Private Const DMPAPER_A3_EXTRA = 63 ' Din A3 Extra Blatt
Private Const DMPAPER_A3_EXTRA_TRANSVERSE = 68 ' Din A3 Extra Blatt 'Querlaufend 
Private Const DMPAPER_A3_TRANSVERSE = 67 ' Din A3 Blatt Querlaufend
Private Const DMPAPER_A4 = 9 ' Din A4 Blatt
Private Const DMPAPER_A4_EXTRA = 53 ' Din A4 Extra Blatt
Private Const DMPAPER_A4_PLUS = 60 ' Din A4 Plus Blatt
Private Const DMPAPER_A4_TRANSVERSE = 55 ' Din A4 Querlaufend
Private Const DMPAPER_A4SMALL = 10 ' Din A4 klein (210 x 297 Millimeter) 'Blatt 
Private Const DMPAPER_A5 = 11 ' Din A5 Blatt
Private Const DMPAPER_A5_EXTRA = 64 ' Din A5 Extra Blatt
Private Const DMPAPER_A5_TRANSVERSE = 61 ' Din A5 Querlaufend
Private Const DMPAPER_B_PLUS = 58 ' B Plus Blatt
Private Const DMPAPER_B4 = 12 ' B4 Blatt
Private Const DMPAPER_B5 = 13 ' B5 Blatt
Private Const DMPAPER_B5_EXTRA = 65 ' B5 Extra Blatt
Private Const DMPAPER_B5_TRANSVERSE = 62 ' B5 Blatt Querlaufend
Private Const DMPAPER_CSHEET = 24 ' C Blatt (17 x 22 Inch)
Private Const DMPAPER_DSHEET = 25 ' D Blatt (22x34 Inch)
Private Const DMPAPER_ENV_10 = 20 ' Briefumschlag 10 (4,125 x 9,5 Inch)
Private Const DMPAPER_ENV_11 = 21 ' Briefumschlag 11 (4,5 x 10,375 Inch)
Private Const DMPAPER_ENV_12 = 22 ' Briefumschlag 12 (4,75 x 11 Inch)
Private Const DMPAPER_ENV_14 = 23 ' Briefumschlag 14 (5 x 11,5 Inch)
Private Const DMPAPER_ENV_9 = 19 ' Briefumschlag 9 (3,875 x 8,875 Inch)
Private Const DMPAPER_ENV_B4 = 33 ' Briefumschlag B4 (250 x 353 Millimeter)
Private Const DMPAPER_ENV_B5 = 34 ' Briefumschlag B5 (176 x 250 Millimeter)
Private Const DMPAPER_ENV_B6 = 35 ' Briefumschlag B6 (176 x 125 Millimeter)
Private Const DMPAPER_ENV_C3 = 29 ' Briefumschlag C3 (324 x 458 Millimeter)
Private Const DMPAPER_ENV_C4 = 30 ' Briefumschlag C4 (229 x 324 Millimeter)
Private Const DMPAPER_ENV_C5 = 28 ' Briefumschlag C5 (162 x 229 Millimeter)
Private Const DMPAPER_ENV_C6 = 31 ' Briefumschlag C6 (114 x 162 Millimeter)
Private Const DMPAPER_ENV_C65 = 32 ' Briefumschlag 10 (4,125 x 9,5 Inch)
Private Const DMPAPER_ENV_DL = 27 ' Briefumschlag 10 (4,125 x 9,5 Inch)
Private Const DMPAPER_ENV_INVITE = 47 ' Einladungs-Briefumschlag
Private Const DMPAPER_ENV_ITALY = 36 ' Italienischer Briefumschlag (110 x 230 Millimeter)
Private Const DMPAPER_ENV_MONARCH = 37 ' Monarchischer Briefumschlag (3,875 x 7,5 Inch)
Private Const DMPAPER_ENV_PERSONAL = 38 ' Persönlicher Briefumschlag (3,625 x 6,5 Inch)
Private Const DMPAPER_ESHEET = 26 ' E Blatt (34 x 44 Inch)
Private Const DMPAPER_EXECUTIVE = 7 ' Executive Blatt (7.25 x 10,5 Inch)
Private Const DMPAPER_FANFOLD_LGL_GERMAN = 41 ' Deutscher Rechtlicher Fanfold (8,5 x 13 Inch)
Private Const DMPAPER_FANFOLD_STD_GERMAN = 40 ' Deutscher Standard Fanfold (8,5 x 12 Inch)
Private Const DMPAPER_FANFOLD_US = 39 ' US Standard Fanfold (14,875 + 11 Inch) 
Private Const DMPAPER_FIRST = 1 ' Blatt 8,5 x 11 Inch
Private Const DMPAPER_FOLIO = 14 ' Folie 8,5 + 13 Inch
Private Const DMPAPER_ISO_B4 = 42 ' ISO B4 Blatt
Private Const DMPAPER_JAPANESE_POSTCARD = 43 ' Japanische Postkarte
Private Const DMPAPER_LAST = 41 ' Deutscher Rechtlicher Fanfold (8,5 x 13 Inch) 
Private Const DMPAPER_LEDGER = 4 ' Ledger (17x11 Inch)
Private Const DMPAPER_LEGAL_EXTRA = 51 ' Rechtlich Extra
Private Const DMPAPER_LETTER_EXTRA = 50 ' Blatt Extra
Private Const DMPAPER_LETTER_EXTRA_TRANSVERSE = 56 ' Blatt Extra Querlaufend
Private Const DMPAPER_LETTER_PLUS = 59 ' Blatt Plus
Private Const DMPAPER_LETTER_TRANSVERSE = 54 ' Blatt querlaufend
Private Const DMPAPER_LETTERSMALL = 2 ' Blatt klein (8,5 x 11 Inch)
Private Const DMPAPER_NOTE = 18 ' Note Blatt (8,5 x 11 Inch)
Private Const DMPAPER_QUARTO = 15 ' Quarto Blatt (215 x 275 Millimeter)
Private Const DMPAPER_STATEMENT = 6 ' Statement Blatt (5,5 x 8,5 Inch)
Private Const DMPAPER_TABLOID = 3 ' Tabloid Blatt (11 x 17 Inch)
Private Const DMPAPER_TABLOID_EXTRA = 52 ' Tabloid Extra Blatt
Private Const DMPAPER_USER = 256 ' benutzerdefinierte Größe
 
' DEVMODE dmDefaultSource-Konstanten
Private Const DMBIN_ONLYONE = 1 ' Nur ein Blatt
Private Const DMBIN_UPPER = 1 ' Behälter oben
Private Const DMBIN_LOWER = 2 ' Behälter unten
Private Const DMBIN_MIDDLE = 3 ' Behälter Mitte
Private Const DMBIN_MANUAL = 4 ' Behälter mit manueller Füllung
Private Const DMBIN_ENVELOPE = 5 ' Briefumschlag-Behälter
Private Const DMBIN_ENVMANUAL = 6 ' Briefumschlag-Behälter mit manueller Füllung 
Private Const DMBIN_AUTO = 7 ' Automatisches Füllen
Private Const DMBIN_TRACTOR = 8 ' Blatt Einzug
Private Const DMBIN_SMALLFMT = 9 ' Kleines Format laden
Private Const DMBIN_LARGEFMT = 10 ' Großes Format laden
Private Const DMBIN_LARGECAPACITY = 11 ' Große Kapazität
Private Const DMBIN_CASSETTE = 14 ' Blatt Kassette
Private Const DMBIN_FORMSOURCE = 15 ' Form Papier Quelle
 
' DEVMODE dmPrintQuality-Konstanten
Private Const DMRES_DRAFT = -1 ' Entwurf
Private Const DMRES_LOW = -2 ' Niedrig
Private Const DMRES_MEDIUM = -3 ' Mittel
Private Const DMRES_HIGH = -4 ' Hoch
 
' DEVMODE dmColor-Konstanten
Private Const DMCOLOR_MONOCHROME = 1 ' Gerät unterstützt keine Schwarzweißausgabe 
Private Const DMCOLOR_COLOR = 2 ' Gerät unterstützt keine Farbausgabe
 
' DEVMODE dmDuplex-Konstanten
Private Const DMDUP_SIMPLEX = 1 ' Einseitiges Drucken
Private Const DMDUP_VERTICAL = 2 ' Beidseitig Drucken bei vertikalem Seitenwechsel 
Private Const DMDUP_HORIZONTAL = 3 ' Beidseitig Drucken bei horizontalem Seitenwechsel 
 
' DEVMODE dmTTOption-Konstanten
Private Const DMTT_BITMAP = 1 ' Druckt TrueType-Fonts als Grafiken
Private Const DMTT_DOWNLOAD = 2 ' Druckt Downloaded-TrueType-Fonts als Soft-Fonts 
Private Const DMTT_SUBDEV = 4 ' Druckt Geräte-Fonts statt TrueType-Fonts
 
' DEVMODE dmCollate-Konstanten
Private Const DMCOLLATE_FALSE = 0 ' Drucker kann keine Seiten sortieren
Private Const DMCOLLATE_TRUE = 1 ' Drucker kann Seiten sortieren
 
' DEVMODE dmDisplayFlags-Konstanten
Private Const DM_GRAYSCALE = 1 ' Gerät unterstützt keine Farben, Grautöne werden unterstützt
Private Const DM_INTERLACED = 2 ' Gerät unterstützt Farben
 
' DEVMODE dmICMMethod-Konstanten
Private Const DMICMMETHOD_NONE = 1 ' ICM ist abgeschaltet
Private Const DMICMMETHOD_SYSTEM = 2 ' ICM wird von Windows gesteuert
Private Const DMICMMETHOD_DRIVER = 3 ' ICM wird vom Treiber gesteuert
Private Const DMICMMETHOD_DEVICE = 4 ' ICM wird vom Gerät gesteuert
 
' DEVMODE dmICMIntent-Konstanten
Private Const DMICM_SATURATE = 1 ' Sättigung wird optimiert
Private Const DMICM_CONTRAST = 2 ' Kontrast wird optimiert
Private Const DMICM_COLORMETRIC = 3 ' Exakte Farben
 
' DEVMODE dmMediaType-Konstanten
Private Const DMMEDIA_STANDARD = 1 ' Standard-Papier
Private Const DMMEDIA_GLOSSY = 2 ' Foto-Papier
Private Const DMMEDIA_TRANSPARECNY = 3 ' Folie
 
' DEVMODE dmDitherType-Konstanten
Private Const DMDITHER_NONE = 1 ' Kein Dithering
Private Const DMDITHER_COARSE = 2 ' Dithering mit grobem Brush
Private Const DMDITHER_FINE = 3 ' Dithering mit feinem Brush
Private Const DMDITHER_LINEART = 4 ' Linien mit Schwarz, weiß und grau
Private Const DMDITHER_GRAYSCALE = 5 ' Grauskala
' Eigenschaftendialog des Druckers anzeigen
Private Sub Command1_Click()
  Dim Retval As Long, hPrinter As Long
 
  ' Druckerhandle bekommen
  Retval = OpenPrinter(Printer.DeviceName, hPrinter, ByVal CLng(0))
 
  If Retval << 0 Then
    ' Druckerdialog anzeigen
    Retval = PrinterProperties(Me.hWnd, hPrinter)
 
    ' Druckerhandle zerstören
    Retval = ClosePrinter(hPrinter)
  End If
End Sub

Diese Seite wurde bereits 10.895 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2020 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