Freigeben über


PAGESETUPDLGA-Struktur (commdlg.h)

Enthält Informationen, die die PageSetupDlg--Funktion verwendet, um das Dialogfeld Seite einrichten zu initialisieren. Nachdem der Benutzer das Dialogfeld geschlossen hat, gibt das System Informationen zu den benutzerdefinierten Seitenparametern in dieser Struktur zurück.

Syntax

typedef struct tagPSDA {
  DWORD           lStructSize;
  HWND            hwndOwner;
  HGLOBAL         hDevMode;
  HGLOBAL         hDevNames;
  DWORD           Flags;
  POINT           ptPaperSize;
  RECT            rtMinMargin;
  RECT            rtMargin;
  HINSTANCE       hInstance;
  LPARAM          lCustData;
  LPPAGESETUPHOOK lpfnPageSetupHook;
  LPPAGEPAINTHOOK lpfnPagePaintHook;
  LPCSTR          lpPageSetupTemplateName;
  HGLOBAL         hPageSetupTemplate;
} PAGESETUPDLGA, *LPPAGESETUPDLGA;

Angehörige

lStructSize

Typ: DWORD-

Die Größe dieser Struktur in Byte.

hwndOwner

Typ: HWND-

Ein Handle für das Fenster, das das Dialogfeld besitzt. Dieses Element kann ein beliebiges gültiges Fensterhandle sein, oder es kann NULL- werden, wenn das Dialogfeld keinen Besitzer hat.

hDevMode

Typ: HGLOBAL

Ein Handle zu einem globalen Speicherobjekt, das eine DEVMODE--Struktur enthält. Wenn ein Handle angegeben wird, werden die Werte in der entsprechenden DEVMODE- Struktur verwendet, um die Steuerelemente im Dialogfeld zu initialisieren. Bei der Ausgabe legt das Dialogfeld hDevMode- auf ein globales Speicherhandle auf eine DEVMODE--Struktur fest, die Werte enthält, die die Auswahl des Benutzers angeben. Wenn die Auswahl des Benutzers nicht verfügbar ist, legt das Dialogfeld hDevMode- auf NULL-fest.

hDevNames

Typ: HGLOBAL

Ein Handle zu einem globalen Speicherobjekt, das eine DEVNAMES--Struktur enthält. Diese Struktur enthält drei Zeichenfolgen, die den Treibernamen, den Druckernamen und den Ausgabeportnamen angeben. Wenn ein Handle angegeben wird, werden die Zeichenfolgen in der entsprechenden DEVNAMES- Struktur verwendet, um Steuerelemente im Dialogfeld zu initialisieren. Bei der Ausgabe legt das Dialogfeld hDevNames- auf ein globales Speicherhandle auf eine DEVNAMES--Struktur fest, die Zeichenfolgen enthält, die die Auswahl des Benutzers angeben. Wenn die Auswahl des Benutzers nicht verfügbar ist, legt das Dialogfeld hDevNames- auf NULL-fest.

Flags

Typ: DWORD-

Eine Reihe von Bitkennzeichnungen, mit denen Sie das Dialogfeld Seite einrichten initialisieren können. Wenn das Dialogfeld zurückgegeben wird, legt es diese Flags fest, um die Eingabe des Benutzers anzugeben. Bei diesem Element kann es sich um einen oder mehrere der folgenden Werte handeln.

Wert Bedeutung
PSD_DEFAULTMINMARGINS
0x00000000
Legt die Mindestwerte fest, die der Benutzer für die Seitenränder angeben kann, um die vom Drucker zulässigen Mindestränder zu sein. Dies ist die Standardeinstellung. Dieses Kennzeichen wird ignoriert, wenn auch die PSD_MARGINS und PSD_MINMARGINS Flags angegeben werden.
PSD_DISABLEMARGINS
0x00000010
Deaktiviert die Randsteuerelemente, hindert den Benutzer daran, die Seitenränder festzulegen.
PSD_DISABLEORIENTATION
0x00000100
Deaktiviert die Ausrichtungssteuerelemente, hindert den Benutzer daran, die Seitenausrichtung festzulegen.
PSD_DISABLEPAGEPAINTING
0x00080000
Verhindert, dass das Dialogfeld den Inhalt der Beispielseite zeichnet. Wenn Sie ein PagePaintHook- Hook-Verfahren aktivieren, können Sie den Inhalt der Beispielseite trotzdem zeichnen.
PSD_DISABLEPAPER
0x00000200
Deaktiviert die Papiersteuerelemente, hindert den Benutzer daran, Seitenparameter wie Papierformat und Quelle festzulegen.
PSD_DISABLEPRINTER
0x00000020
Obsolet.

Windows XP/2000: Deaktiviert die Schaltfläche Drucker und verhindert, dass der Benutzer ein Dialogfeld aufruft, das zusätzliche Druckereinrichtungsinformationen enthält.

PSD_ENABLEPAGEPAINTHOOK
0x00040000
Aktiviert die im lpfnPagePaintHook Member angegebene Hook-Prozedur.
PSD_ENABLEPAGESETUPHOOK
0x00002000
Aktiviert die im lpfnPageSetupHook Member angegebene Hook-Prozedur.
PSD_ENABLEPAGESETUPTEMPLATE
0x00008000
Gibt an, dass die hInstance und lpPageSetupTemplateName Member eine Dialogfeldvorlage angeben, die anstelle der Standardvorlage verwendet werden soll.
PSD_ENABLEPAGESETUPTEMPLATEHANDLE
0x00020000
Gibt an, dass das hPageSetupTemplate-element einen Datenblock identifiziert, der eine vorinstallierte Dialogfeldvorlage enthält. Das System ignoriert den lpPageSetupTemplateName Member, wenn dieses Flag angegeben ist.
PSD_INHUNDREDTHSOFMILLIMETERS
0x00000008
Gibt an, dass Hundertstel Millimeter die Maßeinheit für Ränder und Papierformat sind. Die Werte in der rtMargin, rtMinMarginund ptPaperSize Member sind in Hundertstel Millimeter. Sie können dieses Kennzeichen für eingaben festlegen, um die Standardmaßeinheit für das Gebietsschema des Benutzers außer Kraft zu setzen. Wenn die Funktion zurückgegeben wird, legt das Dialogfeld dieses Kennzeichen so fest, dass die verwendeten Einheiten angegeben werden.
PSD_INTHOUSANDTHSOFINCHES
0x00000004
Gibt an, dass Tausendstel Zoll die Maßeinheit für Ränder und Papierformat sind. Die Werte in der rtMargin, rtMinMarginund ptPaperSize Member befinden sich in Tausendstel Zoll. Sie können dieses Kennzeichen für eingaben festlegen, um die Standardmaßeinheit für das Gebietsschema des Benutzers außer Kraft zu setzen. Wenn die Funktion zurückgegeben wird, legt das Dialogfeld dieses Kennzeichen so fest, dass die verwendeten Einheiten angegeben werden.
PSD_INWININIINTLMEASURE
0x00000000
Reserviert.
PSD_MARGINS
0x00000002
Bewirkt, dass das System die werte verwendet, die im rtMargin Member als anfängliche Breite für die linken, oberen, rechten und unteren Ränder angegeben sind. Wenn PSD_MARGINS nicht festgelegt ist, legt das System die anfangsbreiten für alle Seitenränder auf ein Zoll fest.
PSD_MINMARGINS
0x00000001
Bewirkt, dass das System die werte verwendet, die im rtMinMargin Member als mindest zulässige Breite für die linken, oberen, rechten und unteren Ränder angegeben werden. Das System verhindert, dass der Benutzer eine Breite eingibt, die kleiner als das angegebene Minimum ist. Wenn PSD_MINMARGINS nicht angegeben ist, legt das System die zulässigen Mindestbreiten auf diejenigen fest, die vom Drucker zulässig sind.
PSD_NONETWORKBUTTON
0x00200000
Blendet die Schaltfläche Netzwerk- aus und deaktiviert sie.
PSD_NOWARNING
0x00000080
Verhindert, dass das System eine Warnmeldung anzeigt, wenn kein Standarddrucker vorhanden ist.
PSD_RETURNDEFAULT
0x00000400

PageSetupDlg- wird das Dialogfeld nicht angezeigt. Stattdessen werden die "hDevNames" und "hDevMode" Member so festgelegt, dass DEVMODE- und DEVNAMES- Strukturen verarbeitet werden, die für den Systemstandarddrucker initialisiert werden. PageSetupDlg gibt einen Fehler zurück, wenn hDevNames oder hDevMode- nicht NULL-ist.

PSD_SHOWHELP
0x00000800
Bewirkt, dass das Dialogfeld die Schaltfläche Hilfe- anzeigt. Der hwndOwner Member muss das Fenster angeben, das das HELPMSGSTRING registrierten Nachrichten empfängt, die das Dialogfeld sendet, wenn der Benutzer auf die Schaltfläche Hilfe klickt.

ptPaperSize

Typ: POINT-

Die Abmessungen des Papiers, das vom Benutzer ausgewählt wurde. Das kennzeichen PSD_INTHOUSANDTHSOFINCHES oder PSD_INHUNDREDTHSOFMILLIMETERS gibt die Maßeinheiten an.

rtMinMargin

Typ: RECT-

Die mindest zulässigen Breiten für die linken, oberen, rechten und unteren Seitenränder. Das System ignoriert dieses Element, wenn das PSD_MINMARGINS Flag nicht festgelegt ist. Diese Werte müssen kleiner oder gleich den Werten sein, die im rtMargin Member angegeben sind. Das kennzeichen PSD_INTHOUSANDTHSOFINCHES oder PSD_INHUNDREDTHSOFMILLIMETERS gibt die Maßeinheiten an.

rtMargin

Typ: RECT-

Die Breite der linken, oberen, rechten und unteren Seitenränder. Wenn Sie das PSD_MARGINS-Flag festlegen, gibt rtMargin die anfänglichen Randwerte an. Wenn PageSetupDlg zurückgibt, enthält rtMargin- die vom Benutzer ausgewählten Seitenrandbreiten. Das kennzeichen PSD_INHUNDREDTHSOFMILLIMETERS oder PSD_INTHOUSANDTHSOFINCHES gibt die Maßeinheiten an.

hInstance

Typ: HINSTANCE-

Wenn das PSD_ENABLEPAGESETUPTEMPLATE Flag im Flags Member festgelegt ist, ist hInstance ein Handle für die Anwendung oder Modulinstanz, die die Dialogfeldvorlage enthält, die vom lpPageSetupTemplateName Member benannt wird.

lCustData

Typ: LPARAM-

Anwendungsdefinierte Daten, die das System an die hook-Prozedur übergibt, die vom lpfnPageSetupHook Mitglied identifiziert wird. Wenn das System die WM_INITDIALOG Nachricht an die Hook-Prozedur sendet, ist der lParam- parameter der Nachricht ein Zeiger auf die PAGESETUPDLG- Struktur, die beim Erstellen des Dialogfelds angegeben wurde. Die Hook-Prozedur kann diesen Zeiger verwenden, um den wert lCustData abzurufen.

lpfnPageSetupHook

Typ: LPPAGESETUPHOOK-

Ein Zeiger auf eine PageSetupHook- Hookprozedur, die Nachrichten verarbeiten kann, die für das Dialogfeld vorgesehen sind. Dieses Element wird ignoriert, es sei denn, das PSD_ENABLEPAGESETUPHOOK Flag wird im Flags Member festgelegt.

lpfnPagePaintHook

Typ: LPPAGEPAINTHOOK

Ein Zeiger auf eine PagePaintHook Hook-Prozedur, die WM_PSD_* Nachrichten aus dem Dialogfeld empfängt, wenn die Beispielseite neu gezeichnet wird. Durch die Verarbeitung der Nachrichten kann die Hook-Prozedur die Darstellung der Beispielseite anpassen. Dieses Element wird ignoriert, es sei denn, das PSD_ENABLEPAGEPAINTHOOK Flag wird im Flags Member festgelegt.

lpPageSetupTemplateName

Typ: LPCTSTR-

Der Name der Dialogfeldvorlagenressource im Modul, das vom hInstance Member identifiziert wird. Diese Vorlage wird durch die Standarddialogfeldvorlage ersetzt. Für nummerierte Dialogfeldressourcen kann lpPageSetupTemplateName- ein Wert sein, der vom MAKEINTRESOURCE Makro zurückgegeben wird. Dieses Element wird ignoriert, es sei denn, das PSD_ENABLEPAGESETUPTEMPLATE Flag wird im Flags Member festgelegt.

hPageSetupTemplate

Typ: HGLOBAL

Wenn das PSD_ENABLEPAGESETUPTEMPLATEHANDLE Flag im Flags Member festgelegt ist, ist hPageSetupTemplate- ein Handle für ein Speicherobjekt, das eine Dialogfeldvorlage enthält.

Bemerkungen

Wenn die flags PSD_INHUNDREDTHSOFMILLIMETERS und PSD_INTHOUSANDTHSOFINCHES nicht angegeben werden, fragt das System den LOCALE_IMEASURE Wert des Standardbenutzergebietsschemas ab, um die Maßeinheit (entweder Hundertstel Millimeter oder Tausendstel Zoll) für die Seitenränder und das Papierformat zu bestimmen.

Wenn sowohl hDevNames als auch hDevMode gültige Ziehpunkte und den durch das wDeviceOffset Member der DEVNAMES--Struktur angegebenen Druckernamen nicht mit dem namen identisch sind, der durch den dmDeviceName Member der DEVMODE Struktur angegeben wird, das System verwendet standardmäßig den von wDeviceOffset angegebenen Namen.

Anmerkung

Der commdlg.h-Header definiert PAGESETUPDLG als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Header- commdlg.h (enthalten Windows.h)

Siehe auch

allgemeine Dialogfeldbibliothek

Konzeptionelle

DEVMODE-

DEVNAMES-

MAKEINTRESOURCE-

andere Ressourcen

PagePaintHook-

PageSetupDlg-

PageSetupHook-

Referenz-

WM_INITDIALOG