PAGESETUPDLGA-Struktur (commdlg.h)

Enthält Informationen, die die PageSetupDlg-Funktion zum Initialisieren des Dialogfelds Seite einrichten verwendet. 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;

Member

lStructSize

Art: DWORD

Die Größe (in Bytes) dieser Struktur.

hwndOwner

Typ: HWND

Ein Handle für das Fenster, das das Dialogfeld besitzt. Bei diesem Member kann es sich um ein beliebiges gültiges Fensterhandle handeln, oder es kann NULL sein, wenn das Dialogfeld keinen Besitzer hat.

hDevMode

Typ: HGLOBAL

Ein Handle für ein globales Speicherobjekt, das eine DEVMODE-Struktur enthält. Wenn bei der Eingabe 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 für ein globales Speicherobjekt, das eine DEVNAMES-Struktur enthält. Diese Struktur enthält drei Zeichenfolgen, die den Treibernamen, den Druckernamen und den Namen des Ausgabeports angeben. Wenn bei der Eingabe ein Handle angegeben wird, werden die Zeichenfolgen in der entsprechenden DEVNAMES-Struktur verwendet, um Steuerelemente im Dialogfeld zu initialisieren. In 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

Art: DWORD

Eine Reihe von Bitflags, die Sie verwenden können, um das Dialogfeld Seite einrichten zu initialisieren. Wenn das Dialogfeld zurückgegeben wird, werden diese Flags festgelegt, um die Eingabe des Benutzers anzugeben. Bei diesem Member 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 Standardoption. Dieses Flag wird ignoriert, wenn auch die flags PSD_MARGINS und PSD_MINMARGINS angegeben sind.
PSD_DISABLEMARGINS
0x00000010
Deaktiviert die Randsteuerelemente, hindert den Benutzer daran, die Rä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 eine PagePaintHook-Hookprozedur aktivieren, können Sie weiterhin den Inhalt der Beispielseite zeichnen.
PSD_DISABLEPAPER
0x00000200
Deaktiviert die Papiersteuerelemente, hindert den Benutzer daran, Seitenparameter wie Papierformat und Quelle festzulegen.
PSD_DISABLEPRINTER
0x00000020
Veraltet.

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

PSD_ENABLEPAGEPAINTHOOK
0x00040000
Aktiviert die hook-Prozedur, die im lpfnPagePaintHook-Member angegeben ist.
PSD_ENABLEPAGESETUPHOOK
0x00002000
Aktiviert die hook-Prozedur, die im lpfnPageSetupHook-Element angegeben ist.
PSD_ENABLEPAGESETUPTEMPLATE
0x00008000
Gibt an, dass die Elemente hInstance und lpPageSetupTemplateName eine Dialogfeldvorlage angeben, die anstelle der Standardvorlage verwendet werden soll.
PSD_ENABLEPAGESETUPTEMPLATEHANDLE
0x00020000
Gibt an, dass das hPageSetupTemplate-Element einen Datenblock identifiziert, der eine vorab geladene 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 den Elementen rtMargin, rtMinMargin und ptPaperSize sind in hundertstel Millimetern angegeben. Sie können dieses Flag bei der Eingabe festlegen, um die Standardmesseinheit für das Gebietsschema des Benutzers außer Kraft zu setzen. Wenn die Funktion zurückgegeben wird, legt das Dialogfeld dieses Flag fest, um die verwendeten Einheiten anzugeben.
PSD_INTHOUSANDTHSOFINCHES
0x00000004
Gibt an, dass Tausendstel Zoll die Maßeinheit für Ränder und Papierformat sind. Die Werte in den Membern rtMargin, rtMinMargin und ptPaperSize sind in tausendstel Zoll angegeben. Sie können dieses Flag bei der Eingabe festlegen, um die Standardmesseinheit für das Gebietsschema des Benutzers außer Kraft zu setzen. Wenn die Funktion zurückgegeben wird, legt das Dialogfeld dieses Flag fest, um die verwendeten Einheiten anzugeben.
PSD_INWININIINTLMEASURE
0x00000000
Reserviert.
PSD_MARGINS
0x00000002
Bewirkt, dass das System die im rtMargin-Element angegebenen Werte als Anfangsbreiten für den linken, oberen, rechten und unteren Rand verwendet. Wenn PSD_MARGINS nicht festgelegt ist, legt das System die Anfangsbreite für alle Ränder auf einen Zoll fest.
PSD_MINMARGINS
0x00000001
Bewirkt, dass das System die im rtMinMargin-Element angegebenen Werte als mindest zulässige Breite für den linken, oberen, rechten und unteren Rand verwendet. Das System verhindert, dass der Benutzer eine Breite eingibt, die kleiner als der angegebene Mindestwert ist. Wenn PSD_MINMARGINS nicht angegeben ist, legt das System die vom Drucker zulässigen Mindestbreiten fest.
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 zeigt das Dialogfeld nicht an. Stattdessen werden die Elemente hDevNames und hDevMode für DEVMODE - und DEVNAMES-Strukturen festgelegt, die für den Standarddrucker des Systems initialisiert werden. PageSetupDlg gibt einen Fehler zurück, wenn hDevNames oder hDevMode nicht NULL ist.

PSD_SHOWHELP
0x00000800
Bewirkt, dass im Dialogfeld die Schaltfläche Hilfe angezeigt wird. Das hwndOwner-Element muss das Fenster angeben, in dem die registrierten HELPMSGSTRING-Nachrichten empfangen werden, die das Dialogfeld sendet, wenn der Benutzer auf die Schaltfläche Hilfe klickt.

ptPaperSize

Typ: POINT

Die Abmessungen des vom Benutzer ausgewählten Papiers. Das flag PSD_INTHOUSANDTHSOFINCHES oder PSD_INHUNDREDTHSOFMILLIMETERS gibt die Maßeinheiten an.

rtMinMargin

Typ: RECT

Die zulässigen Mindestbreiten für den linken, oberen, rechten und unteren Rand. Das System ignoriert diesen Member, wenn das flag PSD_MINMARGINS nicht festgelegt ist. Diese Werte müssen kleiner oder gleich den im rtMargin-Element angegebenen Werten sein. Das flag PSD_INTHOUSANDTHSOFINCHES oder PSD_INHUNDREDTHSOFMILLIMETERS gibt die Maßeinheiten an.

rtMargin

Typ: RECT

Die Breite des linken, oberen, rechten und unteren Rands. Wenn Sie das PSD_MARGINS-Flag festlegen, gibt rtMargin die anfänglichen Randwerte an. Wenn PageSetupDlg zurückgegeben wird, enthält rtMargin die vom Benutzer ausgewählten Randbreiten. Das flag PSD_INHUNDREDTHSOFMILLIMETERS oder PSD_INTHOUSANDTHSOFINCHES gibt die Maßeinheiten an.

hInstance

Typ: HINSTANCE

Wenn das flag PSD_ENABLEPAGESETUPTEMPLATE im Flags-Element festgelegt ist, ist hInstance ein Handle für die Anwendung oder das Modul instance, das die Dialogfeldvorlage enthält, die vom LpPageSetupTemplateName-Element benannt ist.

lCustData

Typ: LPARAM

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

lpfnPageSetupHook

Typ: LPPAGESETUPHOOK

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

lpfnPagePaintHook

Typ: LPPAGEPAINTHOOK

Ein Zeiger auf eine PagePaintHook-Hookprozedur , die WM_PSD_* -Nachrichten aus dem Dialogfeld empfängt, wenn die Beispielseite neu gezeichnet wird. Durch die Verarbeitung der Nachrichten kann die Hookprozedur das Erscheinungsbild der Beispielseite anpassen. Dieser Member wird ignoriert, es sei denn, das flag PSD_ENABLEPAGEPAINTHOOK im Flags-Element festgelegt ist.

lpPageSetupTemplateName

Typ: LPCTSTR

Der Name der Dialogfeldvorlagenressource in dem Modul, das vom hInstance-Element 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. Dieser Member wird ignoriert, es sei denn , das flag PSD_ENABLEPAGESETUPTEMPLATE ist im Flags-Member festgelegt.

hPageSetupTemplate

Typ: HGLOBAL

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

Hinweise

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

Wenn sowohl hDevNames als auch hDevMode über gültige Handles verfügen und der vom wDeviceOffset-Member der DEVNAMES-Struktur angegebene Druckername nicht mit dem namen übereinstimmt, der vom dmDeviceName-Member der DEVMODE-Struktur angegeben wird, verwendet das System standardmäßig den namen, der von wDeviceOffset angegeben wird.

Hinweis

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
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile commdlg.h (windows.h einschließen)

Weitere Informationen

Allgemeine Dialogfeldbibliothek

Konzept

DEVMODE

DEVNAMES

MAKEINTRESOURCE

Andere Ressourcen

PagePaintHook

PageSetupDlg

PageSetupHook

Referenz

WM_INITDIALOG