Compartir a través de


Estructura PAGESETUPDLGA (commdlg.h)

Contiene información que usa la función PageSetupDlg para inicializar el cuadro de diálogo configuración de página de . Una vez que el usuario cierra el cuadro de diálogo, el sistema devuelve información sobre los parámetros de página definidos por el usuario en esta estructura.

Sintaxis

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;

Miembros

lStructSize

Tipo: DWORD de

Tamaño, en bytes, de esta estructura.

hwndOwner

Tipo: HWND

Identificador de la ventana que posee el cuadro de diálogo. Este miembro puede ser cualquier identificador de ventana válido o puede ser NULL si el cuadro de diálogo no tiene propietario.

hDevMode

Tipo: HGLOBAL

Identificador de un objeto de memoria global que contiene una estructura DEVMODE. En la entrada, si se especifica un identificador, los valores del deVMODE correspondiente estructura se usan para inicializar los controles en el cuadro de diálogo. En la salida, el cuadro de diálogo establece hDevMode en un identificador de memoria global en una estructura de DEVMODE que contiene valores que especifican las selecciones del usuario. Si las selecciones del usuario no están disponibles, el cuadro de diálogo establece hDevMode en NULL.

hDevNames

Tipo: HGLOBAL

Identificador de un objeto de memoria global que contiene una estructura de DEVNAMES. Esta estructura contiene tres cadenas que especifican el nombre del controlador, el nombre de la impresora y el nombre del puerto de salida. En la entrada, si se especifica un identificador, las cadenas de la correspondiente estructura DEVNAMES se usan para inicializar controles en el cuadro de diálogo. En la salida, el cuadro de diálogo establece hDevNames en un identificador de memoria global en una estructura DEVNAMES que contiene cadenas que especifican las selecciones del usuario. Si las selecciones del usuario no están disponibles, el cuadro de diálogo establece hDevNames en NULL.

Flags

Tipo: DWORD de

Un conjunto de marcas de bits que puede usar para inicializar el cuadro de diálogo Configuración de página de . Cuando el cuadro de diálogo vuelve, establece estas marcas para indicar la entrada del usuario. Este miembro puede ser uno o varios de los siguientes valores.

Valor Significado
PSD_DEFAULTMINMARGINS
0x00000000
Establece los valores mínimos que el usuario puede especificar para que los márgenes de página sean los márgenes mínimos permitidos por la impresora. Este es el valor predeterminado. Esta marca se omite si también se especifican las marcas de PSD_MARGINS y PSD_MINMARGINS.
PSD_DISABLEMARGINS
0x00000010
Deshabilita los controles de margen, lo que impide que el usuario establezca los márgenes.
PSD_DISABLEORIENTATION
0x00000100
Deshabilita los controles de orientación, lo que impide que el usuario establezca la orientación de la página.
PSD_DISABLEPAGEPAINTING
0x00080000
Impide que el cuadro de diálogo dibuse el contenido de la página de ejemplo. Si habilita un procedimiento de enlace de PagePaintHook, puede dibujar el contenido de la página de ejemplo.
PSD_DISABLEPAPER
0x00000200
Deshabilita los controles de papel, lo que impide que el usuario establezca parámetros de página como el tamaño del papel y el origen.
PSD_DISABLEPRINTER
0x00000020
Obsoleto.

Windows XP/2000: Deshabilita el botón impresora de , lo que impide que el usuario invoque un cuadro de diálogo que contenga información adicional de configuración de impresora.

PSD_ENABLEPAGEPAINTHOOK
0x00040000
Habilita el procedimiento de enlace especificado en el miembro lpfnPagePaintHook.
PSD_ENABLEPAGESETUPHOOK
0x00002000
Habilita el procedimiento de enlace especificado en el miembro lpfnPageSetupHook.
PSD_ENABLEPAGESETUPTEMPLATE
0x00008000
Indica que el hInstance y lpPageSetupTemplateName miembros especifican una plantilla de cuadro de diálogo que se usará en lugar de la plantilla predeterminada.
PSD_ENABLEPAGESETUPTEMPLATEHANDLE
0x00020000
Indica que el hPageSetupTemplate miembro identifica un bloque de datos que contiene una plantilla de cuadro de diálogo precargada. El sistema omite el miembro lpPageSetupTemplateName si se especifica esta marca.
PSD_INHUNDREDTHSOFMILLIMETERS
0x00000008
Indica que centésimas de milímetros son la unidad de medida para los márgenes y el tamaño del papel. Los valores de rtMargin, rtMinMarginy miembros ptPaperSize están en centésimas de milímetros. Puede establecer esta marca en la entrada para invalidar la unidad de medida predeterminada para la configuración regional del usuario. Cuando se devuelve la función, el cuadro de diálogo establece esta marca para indicar las unidades usadas.
PSD_INTHOUSANDTHSOFINCHES
0x00000004
Indica que las milésimas de pulgadas son la unidad de medida para los márgenes y el tamaño del papel. Los valores de rtMargin, rtMinMarginy miembros ptPaperSize están en milésimas de pulgadas. Puede establecer esta marca en la entrada para invalidar la unidad de medida predeterminada para la configuración regional del usuario. Cuando se devuelve la función, el cuadro de diálogo establece esta marca para indicar las unidades usadas.
PSD_INWININIINTLMEASURE
0x00000000
Reservado.
PSD_MARGINS
0x00000002
Hace que el sistema use los valores especificados en el miembro rtMargin como anchos iniciales para los márgenes izquierdo, superior, derecho e inferior. Si no se establece PSD_MARGINS, el sistema establece los anchos iniciales en una pulgada para todos los márgenes.
PSD_MINMARGINS
0x00000001
Hace que el sistema use los valores especificados en el miembro rtMinMargin como los anchos mínimos permitidos para los márgenes izquierdo, superior, derecho e inferior. El sistema impide que el usuario escriba un ancho inferior al mínimo especificado. Si no se especifica PSD_MINMARGINS, el sistema establece los anchos mínimos permitidos en los permitidos por la impresora.
PSD_NONETWORKBUTTON
0x00200000
Oculta y deshabilita el botón red de .
PSD_NOWARNING
0x00000080
Impide que el sistema muestre un mensaje de advertencia cuando no haya ninguna impresora predeterminada.
PSD_RETURNDEFAULT
0x00000400

PageSetupDlg no muestra el cuadro de diálogo. En su lugar, establece los hDevNames y miembros de hDevMode para controlar DEVMODE y estructuras de DEVNAMES que se inicializan para la impresora predeterminada del sistema. PageSetupDlg devuelve un error si hDevNames o hDevMode no es null.

PSD_SHOWHELP
0x00000800
Hace que el cuadro de diálogo muestre el botón Ayuda. El miembro hwndOwner debe especificar la ventana para recibir el HELPMSGSTRING mensajes registrados que envía el cuadro de diálogo cuando el usuario hace clic en el botón Ayuda.

ptPaperSize

Tipo: POINT de

Dimensiones del papel seleccionado por el usuario. La marca PSD_INTHOUSANDTHSOFINCHES o PSD_INHUNDREDTHSOFMILLIMETERS indica las unidades de medida.

rtMinMargin

Tipo: RECT

Anchos mínimos permitidos para los márgenes izquierdo, superior, derecho e inferior. El sistema omite este miembro si no se establece la marca PSD_MINMARGINS. Estos valores deben ser menores o iguales que los valores especificados en el miembro de rtMargin. La marca PSD_INTHOUSANDTHSOFINCHES o PSD_INHUNDREDTHSOFMILLIMETERS indica las unidades de medida.

rtMargin

Tipo: RECT

Anchos de los márgenes izquierdo, superior, derecho e inferior. Si establece la marca de PSD_MARGINS, rtMargin especifica los valores de margen iniciales. Cuando se devuelve PageSetupDlg, rtMargin contiene los anchos de margen seleccionados por el usuario. La marca PSD_INHUNDREDTHSOFMILLIMETERS o PSD_INTHOUSANDTHSOFINCHES indica las unidades de medida.

hInstance

Tipo: HINSTANCE

Si la marca PSD_ENABLEPAGESETUPTEMPLATE está establecida en el miembro flags de , hInstance es un identificador de la aplicación o la instancia del módulo que contiene la plantilla de cuadro de diálogo denominada por el miembro lpPageSetupTemplateName.

lCustData

Tipo: LPARAM

Datos definidos por la aplicación que el sistema pasa al procedimiento de enlace identificado por el miembro lpfnPageSetupHook. Cuando el sistema envía el mensaje WM_INITDIALOG al procedimiento de enlace, el parámetro lParam del mensaje es un puntero a la estructura PAGESETUPDLG especificada cuando se creó el cuadro de diálogo. El procedimiento de enlace puede usar este puntero para obtener el valor de lCustData.

lpfnPageSetupHook

Tipo: LPPAGESETUPHOOK

Puntero a un pageSetupHook procedimiento de enlace que puede procesar mensajes destinados al cuadro de diálogo. Este miembro se omite a menos que la marca de PSD_ENABLEPAGESETUPHOOK esté establecida en el miembro marcas de .

lpfnPagePaintHook

Tipo: LPPAGEPAINTHOOK

Puntero a un procedimiento de enlace PagePaintH ook que recibe WM_PSD_* mensajes del cuadro de diálogo cada vez que se vuelve a dibujar la página de ejemplo. Al procesar los mensajes, el procedimiento de enlace puede personalizar la apariencia de la página de ejemplo. Este miembro se omite a menos que la marca de PSD_ENABLEPAGEPAINTHOOK esté establecida en el miembro Marcas de .

lpPageSetupTemplateName

Tipo: LPCTSTR de

Nombre del recurso de plantilla del cuadro de diálogo en el módulo identificado por el miembro hInstance. Esta plantilla se sustituye por la plantilla de cuadro de diálogo estándar. Para los recursos del cuadro de diálogo numerado, lpPageSetupTemplateName puede ser un valor devuelto por la macro MAKEINTRESOURCE . Este miembro se omite a menos que la marca PSD_ENABLEPAGESETUPTEMPLATE esté establecida en el miembro Flags.

hPageSetupTemplate

Tipo: HGLOBAL

Si la marca PSD_ENABLEPAGESETUPTEMPLATEHANDLE está establecida en el miembro flags de , hPageSetupTemplate es un identificador de un objeto de memoria que contiene una plantilla de cuadro de diálogo.

Observaciones

Si no se especifican las marcas PSD_INHUNDREDTHSOFMILLIMETERS y PSD_INTHOUSANDTHSOFINCHES, el sistema consulta el valor LOCALE_IMEASURE de la configuración regional del usuario predeterminado para determinar la unidad de medida (centésimas de milímetros o milésimas de pulgadas) para los anchos de margen y el tamaño del papel.

Si tanto hDevNames como hDevMode tienen identificadores válidos y el nombre de la impresora especificado por el miembro wDeviceOffset del DEVNAMES no es el mismo que el nombre especificado por el miembro dmDeviceName de la estructura DEV MODE, el sistema usa el nombre especificado por wDeviceOffset de forma predeterminada.

Nota

El encabezado commdlg.h define PAGESETUPDLG como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
encabezado de commdlg.h (incluya Windows.h)

Consulte también

biblioteca de cuadros de diálogo común de

conceptual de

DEVMODE

DEVNAMES

MAKEINTRESOURCE

otros recursos

PagePaintHook

PageSetupDlg

PageSetupHook

de referencia de

WM_INITDIALOG