Estructura PRINTDLGEXA (commdlg.h)
Contiene información que usa la función printDlgEx de
Sintaxis
typedef struct tagPDEXA {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
HDC hDC;
DWORD Flags;
DWORD Flags2;
DWORD ExclusionFlags;
DWORD nPageRanges;
DWORD nMaxPageRanges;
LPPRINTPAGERANGE lpPageRanges;
DWORD nMinPage;
DWORD nMaxPage;
DWORD nCopies;
HINSTANCE hInstance;
LPCSTR lpPrintTemplateName;
LPUNKNOWN lpCallback;
DWORD nPropertyPages;
HPROPSHEETPAGE *lphPropertyPages;
DWORD nStartPage;
DWORD dwResultAction;
} PRINTDLGEXA, *LPPRINTDLGEXA;
Miembros
lStructSize
Tipo: DWORD de
Tamaño de la estructura, en bytes.
hwndOwner
Tipo: HWND
Identificador de la ventana que posee la hoja de propiedades. Este miembro debe ser un identificador de ventana válido; no se puede NULL.
hDevMode
Tipo: HGLOBAL
Identificador de un objeto de memoria global móvil que contiene una estructura de DEVMODE. Si
Si
Para obtener más información sobre los hDevMode y miembros de hDevNames, vea la sección Comentarios al final de este tema.
hDevNames
Tipo: HGLOBAL
Identificador de un objeto de memoria global móvil que contiene una estructura de DEVNAMES. Si hDevNames no es NULL en la entrada, debe asignar un bloque de memoria extraíble para la estructura de DEVNAMES e inicializar sus miembros. La función PrintDlgEx usa los datos de entrada para inicializar los controles en la hoja de propiedades. Cuando
El miembro
Para obtener más información sobre los hDevMode y miembros de hDevNames, vea la sección Comentarios al final de este tema.
hDC
Tipo: HDC
Identificador de un contexto de dispositivo o un contexto de información, en función de si el miembro Flags especifica la marca PD_RETURNDC o PC_RETURNIC. Si no se especifica ninguna marca, el valor de este miembro no está definido. Si se especifican ambas marcas, PD_RETURNDC tiene prioridad. Si hDC no es null, debe llamar a DeleteDC para liberar el objeto GDI después de que ya no lo necesite; De lo contrario, perderá objetos GDI cada vez que llame a API de PrintDlgw.
Flags
Tipo: DWORD de
Un conjunto de marcas de bits que puede usar para inicializar la hoja de propiedades de Imprimir. Cuando la función printDlgEx
Para asegurarse de que printDlg o printDlgEx devuelve los valores correctos en el dmCopies y miembros del DEVMODE estructura, establezca PD_RETURNDC = TRUE y PD_USEDEVMODECOPIESANDCOLLATE = TRUE. Al hacerlo, el miembro
Para asegurarse de que printDlg o PrintDlgEx devuelve los valores correctos en nCopies y PD_COLLATE, establezca PD_RETURNDC = TRUE y PD_USEDEVMODECOPIESANDCOLLATE = FALSE. Al hacerlo, dmCopies siempre es 1 y dmCollate siempre es FALSE.
A partir de Windows Vista, al llamar a
Al realizar llamadas a GDI, debe omitir el valor de
Valor | Significado |
---|---|
|
Marca predeterminada que indica que se selecciona inicialmente el botón de radio Todo. Esta marca se usa como marcador de posición para indicar que no se especifican las marcas PD_PAGENUMS, PD_SELECTIONy PD_CURRENTPAGE. |
|
Si se establece esta marca, se activa la casilla Interate.
Si esta marca se establece cuando la función printDlgEx Consulte PD_NOPAGENUMS. |
|
Si se establece esta marca, se selecciona el botón de radio página actual. Si no se establece ninguna de las marcas PD_PAGENUMS, PD_SELECTIONo PD_CURRENTPAGE, se selecciona el botón de radio Todo. |
|
Deshabilita la casilla Imprimir en archivo . |
|
Indica que los miembros de |
|
Indica que el miembro de hInstance identifica un bloque de datos que contiene una plantilla de cuadro de diálogo precargada. Esta plantilla reemplaza la plantilla de cuadro de diálogo predeterminada en la parte inferior de la página General. El sistema usa la plantilla especificada para crear una ventana que sea un elemento secundario de la página General. El sistema omite el lpPrintTemplateName miembro si se especifica esta marca. |
|
Indica que el ExclusionFlags miembro identifica los elementos que se excluirán de las páginas de propiedades del controlador de impresora. Si no se establece esta marca, los elementos se excluirán de forma predeterminada de las páginas de propiedades del controlador de impresora. Las exclusiones impiden la duplicación de elementos entre la página de General, las páginas especificadas por la aplicación y las páginas del controlador de impresora. |
|
Oculta la casilla Imprimir en archivo |
|
Deshabilita el botón de radio |
|
Deshabilita el botón de radio Pages y los controles de edición asociados. Además, hace que la casilla intercalación aparezca en el cuadro de diálogo. |
|
Deshabilita el botón de radio Selección de |
|
Impide que se muestre el mensaje de advertencia cuando se produce un error. |
|
Si se establece esta marca, se selecciona el botón de radio Páginas. Si no se establece ninguna de las marcas PD_PAGENUMS, PD_SELECTIONo PD_CURRENTPAGE, se selecciona el botón de radio Todo. Si esta marca se establece cuando la función PrintDlgEx devuelve, el miembro lpPageRanges indica los intervalos de página especificados por el usuario. |
|
Si se establece esta marca, la casilla imprimir archivo está activada. Si se establece esta marca cuando |
|
Hace que PrintDlgEx devuelva un contexto de dispositivo que coincida con las selecciones realizadas por el usuario en la hoja de propiedades. El contexto del dispositivo se devuelve en hDC. |
|
Si se establece esta marca, la función PrintDlgEx no muestra la hoja de propiedades. En su lugar, establece los miembros de hDevNames y hDevMode para controlar DEVNAMES y estructuras de DEVMODE inicializadas para la impresora predeterminada del sistema. Tanto hDevNames como hDevMode deben ser NULLo printDlgEx devuelve un error. |
|
De forma similar a la marca PD_RETURNDC, salvo que esta marca devuelve un contexto de información en lugar de un contexto de dispositivo. Si no se especifica ni PD_RETURNDC ni PD_RETURNIC, hDC no está definido en la salida. |
|
Si se establece esta marca, se selecciona el botón de radio Selección. Si no se establece ninguna de las marcas PD_PAGENUMS, PD_SELECTIONo PD_CURRENTPAGE, se selecciona el botón de radio Todo. |
|
Igual que PD_USEDEVMODECOPIESANDCOLLATE. |
|
Esta marca indica si la aplicación admite varias copias e intercalación. Establezca esta marca en la entrada para indicar que la aplicación no admite varias copias e intercalación. En este caso, el Si no se establece esta marca, la aplicación es responsable de imprimir e intercalar varias copias. En este caso, el miembro nCopies del PRINTDLGEX indica el número de copias que el usuario quiere imprimir y la marca PD_COLLATE en el miembro Flags indica si el usuario quiere intercalación. Independientemente de si se establece esta marca, una aplicación puede determinar desde nCopies y PD_COLLATE cuántas copias se van a representar y si se van a imprimir intercaladas. Si se establece esta marca y el controlador de impresora no admite varias copias, el Copia control de edición está deshabilitado. Del mismo modo, si se establece esta marca y el controlador de impresora no admite la intercalación, la casilla intercalación está deshabilitada. Los dmCopies y dmCollate miembros del DEVMODE estructura contienen la información de copia y intercalación utilizada por el controlador de impresora. Si se establece esta marca y el controlador de impresora admite varias copias, el dmCopies miembro indica el número de copias solicitadas por el usuario. Si se establece esta marca y el controlador de impresora admite la intercalación, el En versiones de Windows anteriores a Windows Vista, si la aplicación que realiza la llamada no establece esta marca y el |
|
Obliga a la hoja de propiedades a usar una plantilla grande para la página general de |
Flags2
Tipo: DWORD de
ExclusionFlags
Tipo: DWORD de
Conjunto de marcas de bits que pueden excluir elementos de las páginas de propiedades del controlador de impresora en la hoja de propiedades de Imprimir. Este valor solo se usa si la marca PD_EXCLUSIONFLAGS está establecida en el miembro Flags. Las marcas de exclusión solo se deben usar si el elemento que se va a excluir se incluirá en la página de General de
PD_EXCL_COPIESANDCOLLATE
Excluye los controles copia
nPageRanges
Tipo: DWORD de
En la entrada, establezca este miembro en el número inicial de intervalos de página especificados en la matriz de lpPageRanges de
nMaxPageRanges
Tipo: DWORD de
Tamaño, en elementos de matriz, del búfer de lpPageRanges. Este valor indica el número máximo de intervalos de páginas que se pueden almacenar en la matriz. Si se especifica la marca PD_NOPAGENUMS, este valor no es válido. Si no se especifica la marca PD_NOPAGENUMS, este valor debe ser mayor que cero.
lpPageRanges
Tipo: LPPRINTPAGERANGE
Puntero a un búfer que contiene una matriz de estructuras PRINTPAGERANGE. En la entrada, la matriz contiene los intervalos de página iniciales que se van a mostrar en el control de edición de Pages. Cuando se devuelve la función
nMinPage
Tipo: DWORD de
Valor mínimo para los intervalos de páginas especificados en el control de edición de Pages. Si se especifica la marca PD_NOPAGENUMS, este valor no es válido.
nMaxPage
Tipo: DWORD de
Valor máximo de los intervalos de página especificados en el control de edición de Pages. Si se especifica la marca PD_NOPAGENUMS, este valor no es válido.
nCopies
Tipo: DWORD de
Contiene el número inicial de copias del control de edición copia de
hInstance
Tipo: HINSTANCE
Si la marca
lpPrintTemplateName
Tipo: LPCTSTR de
Nombre del recurso de plantilla del cuadro de diálogo en el módulo identificado por el miembro hInstance. Esta plantilla reemplaza la plantilla de cuadro de diálogo predeterminada en la parte inferior de la página General. La plantilla predeterminada contiene controles similares a los del cuadro de diálogo Imprimir
lpCallback
Tipo: LPUNKNOWN
Puntero a un objeto de devolución de llamada definido por la aplicación.
El objeto debe contener la clase IPrintDialogCallback para recibir mensajes para el cuadro de diálogo secundario en la parte inferior de la página de General.
El objeto de devolución de llamada también debe contener la clase IObjectWithSite para recibir un puntero a la interfaz IPrintDialogServices. La función
Si no desea recuperar ninguna de las informaciones de devolución de llamada, establezca lpCallback en NULL.
nPropertyPages
Tipo: DWORD de
Número de identificadores de página de propiedades de la matriz lphPropertyPages.
lphPropertyPages
Tipo:
Contiene una matriz de identificadores de página de propiedades para agregar a la hoja de propiedades Imprimir. Las páginas de propiedades adicionales siguen la página General. Use la función createPropertySheetPage de
nStartPage
Tipo: DWORD de
Página de propiedades que se muestra inicialmente. Para mostrar la página General, especifique START_PAGE_GENERAL. De lo contrario, especifique el índice de base cero de una página de propiedades de la matriz especificada en el miembro lphPropertyPages. Para la coherencia, se recomienda que la hoja de propiedades siempre se inicie en la página General.
dwResultAction
Tipo: DWORD de
En la entrada, establezca este miembro en cero. Si la función printDlgEx
PD_RESULT_APPLY
El usuario ha clic en el botón Aplicar
PD_RESULT_CANCEL
El usuario ha clic en el botón cancelar
PD_RESULT_PRINT
El usuario ha clic en el botón Imprimir
Observaciones
Si hDevMode y hDevNames son NULL, PrintDlgEx inicializa la hoja de propiedades con la impresora predeterminada actual. Para inicializar la hoja de propiedades de una impresora diferente, use el wDeviceOffset miembro del ESTRUCTURA DEVNAMES para especificar el nombre de la impresora.
Tenga en cuenta que el miembro dmDeviceName del DEVMODE estructura también especifica un nombre de impresora. Sin embargo, dmDeviceName está limitado a 32 caracteres y el nombre de wDeviceOffset no. Si los nombres de wDeviceOffset y dmDevice Name no son los mismos, PrintDlgEx inicializa la hoja de propiedades con la impresora especificada por wDeviceOffset.
Si se establece la marca de PD_RETURNDEFAULT y hDevMode y hDevNames son NULL, PrintDlgEx usa el hDevNames y hDevMode miembros para devolver información sobre la impresora predeterminada actual sin mostrar el cuadro de diálogo.
Durante la ejecución de
Nota
El encabezado commdlg.h define PRINTDLGEX 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
de referencia de