CPrintDialogEx (clase)
Encapsula los servicios proporcionados por la hoja de propiedades de impresión de Windows.
Sintaxis
class CPrintDialogEx : public CCommonDialog
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CPrintDialogEx::CPrintDialogEx | Construye un objeto CPrintDialogEx . |
Métodos públicos
Nombre | Descripción |
---|---|
CPrintDialogEx::CreatePrinterDC | Crea un contexto de dispositivos de impresora sin mostrar el cuadro de diálogo Imprimir. |
CPrintDialogEx::DoModal | Muestra el cuadro de diálogo y permite al usuario realizar selecciones. |
CPrintDialogEx::GetCopies | Recupera el número de copias solicitadas. |
CPrintDialogEx::GetDefaults | Recupera los valores predeterminados del dispositivo sin mostrar un cuadro de diálogo. |
CPrintDialogEx::GetDeviceName | Recupera el nombre del dispositivo de impresora seleccionado actualmente. |
CPrintDialogEx::GetDevMode | Recupera la estructura DEVMODE . |
CPrintDialogEx::GetDriverName | Recupera el nombre del controlador del dispositivo de impresión definido por el sistema. |
CPrintDialogEx::GetPortName | Recupera el nombre del puerto de impresora seleccionado actualmente. |
CPrintDialogEx::GetPrinterDC | Recupera un identificador para el contexto del dispositivo de impresora. |
CPrintDialogEx::PrintAll | Determina si se van a imprimir todas las páginas del documento. |
CPrintDialogEx::PrintCollate | Determina si se solicitan copias intercaladas. |
CPrintDialogEx::PrintCurrentPage | Determina si se va a imprimir la página actual del documento. |
CPrintDialogEx::PrintRange | Determina si se va a imprimir solo un intervalo de páginas especificado. |
CPrintDialogEx::PrintSelection | Determina si se van a imprimir solo los elementos seleccionados actualmente. |
Miembros de datos públicos
Nombre | Descripción |
---|---|
CPrintDialogEx::m_pdex | Estructura utilizada para personalizar un objeto CPrintDialogEx . |
Comentarios
Puede confiar en el marco para controlar muchos aspectos del proceso de impresión de la aplicación. Para más información sobre el uso del marco para controlar las tareas de impresión, consulte el artículo Impresión.
Si quiere que la aplicación controle la impresión sin la participación del marco, puede usar la clase CPrintDialogEx
"tal cual" con el constructor proporcionado, o puede derivar su propia clase de cuadro de diálogo de CPrintDialogEx
y escribir un constructor que se adapte a sus necesidades. En cualquier caso, estos cuadros de diálogo se comportarán como cuadros de diálogo de MFC estándar porque se derivan de la clase CCommonDialog
.
Para usar un objeto CPrintDialogEx
, cree primero el objeto mediante el constructor CPrintDialogEx
. Una vez se ha construido el cuadro de diálogo, puede establecer o modificar los valores de la estructura m_pdex para inicializar los valores de los controles del cuadro de diálogo. La estructura m_pdex
es de tipo PRINTDLGEX. Para más información sobre esta estructura, consulte Windows SDK.
Si no proporciona sus propios identificadores en m_pdex
para los miembros hDevMode
y hDevNames
, asegúrese de llamar a la función GlobalFree
de Windows con estos identificadores cuando haya terminado con el cuadro de diálogo.
Después de inicializar los controles del cuadro de diálogo, llame a la función miembro DoModal
para mostrar el cuadro de diálogo y permitir que el usuario seleccionar opciones de impresión. Cuando DoModal
devuelva resultados, puede determinar si el usuario seleccionó el botón Aceptar, Aplicar o Cancelar.
Si el usuario presionó Aceptar, puede usar las funciones miembros de CPrintDialogEx
para recuperar la información especificada por el usuario.
La función miembro CPrintDialogEx::GetDefaults
es útil para recuperar los valores predeterminados de la impresora actual sin mostrar un cuadro de diálogo. Este método no requiere ninguna interacción del usuario.
Puede usar la función CommDlgExtendedError
de Windows para determinar si se produjo un error durante la inicialización del cuadro de diálogo y obtener más información sobre el error. Para más información sobre esta función, consulte Windows SDK.
Para más información sobre el uso de CPrintDialogEx
, consulte Clases de cuadros de diálogo comunes.
Jerarquía de herencia
IObjectWithSite
IPrintDialogCallback
CPrintDialogEx
Requisitos
Encabezado: afxdlgs.h
CPrintDialogEx::CPrintDialogEx
Construye una hoja de propiedades de impresión de Windows.
CPrintDialogEx(
DWORD dwFlags = PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS | PD_HIDEPRINTTOFILE | PD_NOSELECTION | PD_NOCURRENTPAGE,
CWnd* pParentWnd = NULL);
Parámetros
dwFlags
Puede usar una o varias marcas para personalizar la configuración del cuadro de diálogo, en combinación con el operador OR bit a bit. Por ejemplo, la marca PD_ALLPAGES establece el intervalo de impresión predeterminado en todas las páginas del documento. Consulte la estructura PRINTDLGEX en Windows SDK para más información sobre estas marcas.
pParentWnd
Puntero a la ventana principal o propietaria del cuadro de diálogo.
Comentarios
Esta función miembro solo construye el objeto. Use la función miembro DoModal
para mostrar el cuadro de diálogo.
CPrintDialogEx::CreatePrinterDC
Crea un contexto de dispositivo de impresora (DC) a partir de las estructuras DEVMODE y DEVNAMES.
HDC CreatePrinterDC();
Valor devuelto
Identificador del contexto del dispositivo de impresora recién creado.
Comentarios
El controlador de dominio devuelto también se almacena en el miembro hDC
de m_pdex.
Se supone que este controlador de dominio es el controlador de dominio de la impresora actual y se debe eliminar cualquier otro controlador de dominio de impresora obtenido anteriormente. Se puede llamar a esta función y usar el controlador de dominio resultante, sin mostrar nunca el cuadro de diálogo Imprimir.
CPrintDialogEx::DoModal
Llame a esta función para mostrar la hoja de propiedades de impresión de Windows y permitir al usuario seleccionar varias opciones de impresión, como el número de copias, el intervalo de páginas y si se deben intercalar las copias.
virtual INT_PTR DoModal();
Valor devuelto
El valor devuelto INT_PTR es en realidad un valor HRESULT. Consulte la sección Valores devueltos en PrintDlgEx en Windows SDK.
Comentarios
Si quiere inicializar las distintas opciones del cuadro de diálogo de impresión estableciendo miembros de la estructura m_pdex
, debe hacerlo antes de llamar a DoModal
, pero después de construir el objeto de cuadro de diálogo.
Después de llamar a DoModal
, puede llamar a otras funciones miembro para recuperar la configuración o la información de entrada del usuario en el cuadro de diálogo.
Si se usa la marca PD_RETURNDC al llamar a DoModal
, se devolverá un controlador de dominio de impresora en el miembro hDC
de m_pdex. Este controlador de dominio debe liberarlo con una llamada a DeleteDC el autor de la llamada de CPrintDialogEx
.
CPrintDialogEx::GetCopies
Llame a esta función después de llamar a DoModal
para recuperar el número de copias solicitadas.
int GetCopies() const;
Valor devuelto
Número de copias solicitadas.
CPrintDialogEx::GetDefaults
Llame a esta función para recuperar los valores predeterminados del dispositivo de la impresora predeterminada sin mostrar un cuadro de diálogo.
BOOL GetDefaults();
Valor devuelto
TRUE si es correcto; en caso contrario, FALSE.
Comentarios
Crea un contexto de dispositivo de impresora (DC) a partir de las estructuras DEVMODE y DEVNAMES.
GetDefaults
no muestra la hoja de propiedades de impresión. En su lugar, establece los miembros hDevNames
y hDevMode
de m_pdex en identificadores de las estructuras DEVMODE y DEVNAMES que se inicializan para la impresora predeterminada del sistema. Tanto hDevNames
como hDevMode
deben ser NULL, o GetDefaults
produce un error.
Si se establece la marca PD_RETURNDC, esta función no solo devolverá hDevNames
y hDevMode
(ubicado en m_pdex.hDevNames
y m_pdex.hDevMode
) al autor de la llamada, sino que también devolverá un controlador de dominio de impresora en m_pdex.hDC
. Es responsabilidad del autor de la llamada eliminar el controlador de dominio de la impresora y llamar a la función GlobalFree de Windows en los identificadores cuando haya terminado con el objeto CPrintDialogEx
.
CPrintDialogEx::GetDeviceName
Llame a esta función después de llamar a DoModal para recuperar el nombre de la impresora seleccionada actualmente o después de llamar a GetDefaults para recuperar el nombre de la impresora predeterminada.
CString GetDeviceName() const;
Valor devuelto
Nombre de la impresora actualmente seleccionada.
Comentarios
Use un puntero al objeto CString
devuelto por GetDeviceName
como valor de lpszDeviceName
en una llamada a CDC::CreateDC.
CPrintDialogEx::GetDevMode
Llame a esta función después de llamar a DoModal o GetDefaults para recuperar información sobre el dispositivo de impresión.
LPDEVMODE GetDevMode() const;
Valor devuelto
Estructura de datos DEVMODE, que contiene información sobre la inicialización del dispositivo y el entorno de un controlador de impresión. Debe desbloquear la memoria ocupada por esta estructura con la función GlobalUnlock de Windows, que se describe en Windows SDK.
CPrintDialogEx::GetDriverName
Llame a esta función después de llamar a DoModal o GetDefaults para recuperar el nombre del controlador de dispositivo de impresora definido por el sistema.
CString GetDriverName() const;
Valor devuelto
Un objeto CString
que especifica el nombre del controlador definido por el sistema.
Comentarios
Use un puntero al objeto CString
devuelto por GetDriverName
como valor de lpszDriverName en una llamada a CDC::CreateDC.
CPrintDialogEx::GetPortName
Llame a esta función después de llamar a DoModal o GetDefaults para recuperar el nombre del puerto de impresora seleccionado actualmente.
CString GetPortName() const;
Valor devuelto
Nombre del puerto de impresora seleccionado actualmente.
CPrintDialogEx::GetPrinterDC
Devuelve un identificador al contexto del dispositivo de impresora.
HDC GetPrinterDC() const;
Valor devuelto
Identificador para el contexto del dispositivo de impresora.
Comentarios
Debe llamar a la función DeleteDC de Windows para eliminar el contexto del dispositivo cuando haya terminado de usarlo.
CPrintDialogEx::m_pdex
Estructura PRINTDLGEX cuyos miembros almacenan las características del objeto de cuadro de diálogo.
PRINTDLGEX m_pdex;
Comentarios
Después de construir un objeto CPrintDialogEx
, puede usar m_pdex
para establecer varios aspectos del cuadro de diálogo antes de llamar a la función miembro DoModal. Para más información sobre la estructura m_pdex
, consulte PRINTDLGEX en Windows SDK.
Si modifica el miembro de datos m_pdex
directamente, invalidará cualquier comportamiento predeterminado.
CPrintDialogEx::PrintAll
Llame a esta función después de llamar a DoModal
para determinar si se van a imprimir todas las páginas del documento.
BOOL PrintAll() const;
Valor devuelto
TRUE si se van a imprimir todas las páginas del documento; en caso contrario, FALSE.
CPrintDialogEx::PrintCollate
Llame a esta función después de llamar a DoModal
para determinar si la impresora debe intercalar todas las copias impresas del documento.
BOOL PrintCollate() const;
Valor devuelto
TRUE si el usuario activa la casilla de intercalación en el cuadro de diálogo; en caso contrario, FALSE.
CPrintDialogEx::PrintCurrentPage
Llame a esta función después de llamar a DoModal
para determinar si se va a imprimir la página actual del documento.
BOOL PrintCurrentPage() const;
Valor devuelto
TRUE si se selecciona Imprimir página actual en el cuadro de diálogo de impresión; en caso contrario, FALSE.
CPrintDialogEx::PrintRange
Llame a esta función después de llamar a DoModal
para determinar si se va a imprimir solo un intervalo de páginas del documento.
BOOL PrintRange() const;
Valor devuelto
TRUE si solo se va a imprimir un intervalo de páginas del documento; en caso contrario, FALSE.
Comentarios
Los intervalos de página especificados se pueden determinar a partir de m_pdex (consulte nPageRanges
, nMaxPageRanges
y lpPageRanges
en la estructura PRINTDLGEX en Windows SDK).
CPrintDialogEx::PrintSelection
Llame a esta función después de llamar a DoModal
para determinar si se van a imprimir solo los elementos seleccionados actualmente.
BOOL PrintSelection() const;
Valor devuelto
TRUE si solo se van a imprimir los elementos seleccionados; en caso contrario, FALSE.
Consulte también
CCommonDialog (clase)
Gráfico de jerarquías
CPrintInfo (estructura)