C/Visual C - Imprimie desde un CDialog

 
Vista:

Imprimie desde un CDialog

Publicado por Carlos Bustos (1 intervención) el 07/03/2001 13:54:34
Al pulsar un botón de un CDialog tengo que imprimir una serie de datos que no proveden de un documento. ¿Cómo se hace? Agradecería ejemplos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Cómo imprimir datos desde un CDialog en Visual C++

Publicado por Alejandro (913 intervenciones) el 09/09/2024 16:47:32
Para imprimir datos desde un CDialog en Visual C++, puedes seguir los siguientes pasos:

1. Agrega un control de botón a tu diálogo en el diseñador de recursos de Visual Studio. Puedes hacer esto arrastrando y soltando un botón desde la caja de herramientas al diálogo.

2. Asigna un identificador único al botón. Puedes hacer esto seleccionando el botón y estableciendo el campo "ID" en la ventana de propiedades.

3. En el código fuente de tu diálogo (normalmente en el archivo .cpp correspondiente), agrega un controlador de eventos para el botón. Puedes hacer esto utilizando el mensaje BN_CLICKED.

Aquí tienes un ejemplo de cómo se vería el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// En el archivo .h de tu diálogo
afx_msg void OnPrintButtonClicked();
 
// En el archivo .cpp de tu diálogo
BEGIN_MESSAGE_MAP(YourDialogClass, CDialog)
    ON_BN_CLICKED(IDC_PRINT_BUTTON, OnPrintButtonClicked)
END_MESSAGE_MAP()
 
void YourDialogClass::OnPrintButtonClicked()
{
    // Aquí es donde puedes imprimir tus datos
    // Puedes utilizar la función de impresión de MFC o cualquier otra biblioteca de impresión que desees
 
    // Ejemplo de impresión utilizando la función de impresión de MFC
    CDC dc;
    CPrintDialog printDlg(FALSE);
    if (printDlg.DoModal() == IDOK)
    {
        dc.Attach(printDlg.GetPrinterDC());
        dc.StartDoc(L"Imprimir documento");
        dc.StartPage();
 
        // Aquí puedes dibujar tus datos en el contexto de impresión
        dc.TextOut(100, 100, L"Ejemplo de datos a imprimir");
 
        dc.EndPage();
        dc.EndDoc();
        dc.Detach();
    }
}

En este ejemplo, hemos agregado un controlador de eventos llamado `OnPrintButtonClicked` que se ejecutará cuando se haga clic en el botón. Dentro de este controlador, utilizamos la función de impresión de MFC para imprimir los datos deseados. En este caso, simplemente dibujamos un texto en el contexto de impresión utilizando la función `TextOut`.

Recuerda reemplazar `YourDialogClass` con el nombre de tu clase de diálogo e `IDC_PRINT_BUTTON` con el identificador único que hayas asignado al botón en el paso 2.

Espero que este ejemplo te sea útil para imprimir datos desde un CDialog en Visual C++. ¡Buena suerte con tu desarrollo, Carlos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar