Estructura PAGESETUPDLGW (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 tagPSDW {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
DWORD Flags;
POINT ptPaperSize;
RECT rtMinMargin;
RECT rtMargin;
HINSTANCE hInstance;
LPARAM lCustData;
LPPAGESETUPHOOK lpfnPageSetupHook;
LPPAGEPAINTHOOK lpfnPagePaintHook;
LPCWSTR lpPageSetupTemplateName;
HGLOBAL hPageSetupTemplate;
} PAGESETUPDLGW, *LPPAGESETUPDLGW;
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 |
---|---|
|
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 . |
|
Deshabilita los controles de margen, lo que impide que el usuario establezca los márgenes. |
|
Deshabilita los controles de orientación, lo que impide que el usuario establezca la orientación de la página. |
|
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. |
|
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. |
|
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. |
|
Habilita el procedimiento de enlace especificado en el miembro lpfnPagePaintHook . |
|
Habilita el procedimiento de enlace especificado en el miembro lpfnPageSetupHook . |
|
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. |
|
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. |
|
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. |
|
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. |
|
Reservado. |
|
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. |
|
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. |
|
Oculta y deshabilita el botón Red . |
|
Impide que el sistema muestre un mensaje de advertencia cuando no haya ninguna impresora predeterminada. |
|
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. |
|
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
Otros recursos
Referencia