Estructura PAGESETUPDLGA (commdlg.h)

Contiene información que la función PageSetupDlg usa para inicializar el cuadro de diálogo Configurar página . 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

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 de la estructura DEVMODE correspondiente 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 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 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 estructura DEVNAMES correspondiente se usan para inicializar los 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

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

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 PagePaintHook , todavía 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 , lo que impide que el usuario invoque un cuadro de diálogo que contenga información adicional sobre la configuración de la 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 los miembros hInstance y lpPageSetupTemplateName especifican una plantilla de cuadro de diálogo que se va a usar en lugar de la plantilla predeterminada.
PSD_ENABLEPAGESETUPTEMPLATEHANDLE
0x00020000
Indica que el miembro hPageSetupTemplate 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 los miembros rtMargin, rtMinMargin y 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 la función vuelve, el cuadro de diálogo establece esta marca para indicar las unidades usadas.
PSD_INTHOUSANDTHSOFINCHES
0x00000004
Indica que milésimas de pulgadas son la unidad de medida para los márgenes y el tamaño del papel. Los valores de los miembros rtMargin, rtMinMargin y 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 la función vuelve, 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 los anchos iniciales de 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 .
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 miembros hDevNames y hDevMode para controlar las estructuras DEVMODE y 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 los mensajes registrados HELPMSGSTRING que envía el cuadro de diálogo cuando el usuario hace clic en el botón Ayuda .

ptPaperSize

Tipo: POINT

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 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 PSD_MARGINS , rtMargin especifica los valores de margen iniciales. Cuando 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 de PSD_ENABLEPAGESETUPTEMPLATE se establece en el miembro Flags , 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 lCustData .

lpfnPageSetupHook

Tipo: LPPAGESETUPHOOK

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

lpfnPagePaintHook

Tipo: LPPAGEPAINTHOOK

Puntero a un procedimiento de enlace PagePaintHook que recibe mensajes WM_PSD_* 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 Flags .

lpPageSetupTemplateName

Tipo: LPCTSTR

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 de cuadro de diálogo numerados, 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 se establece en el miembro Flags , hPageSetupTemplate es un identificador de un objeto de memoria que contiene una plantilla de cuadro de diálogo.

Comentarios

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 hDevNames y hDevMode tienen identificadores válidos y el nombre de impresora especificado por el miembro wDeviceOffset de la estructura DEVNAMES no es el mismo que el nombre especificado por el miembro dmDeviceName de la estructura DEVMODE , 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 Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado commdlg.h (incluye Windows.h)

Consulte también

Biblioteca de cuadros de diálogo comunes

Conceptual

DEVMODE

DEVNAMES

MAKEINTRESOURCE

Otros recursos

PagePaintHook

PageSetupDlg

PageSetupHook

Referencia

WM_INITDIALOG