C/Visual C - imprimir del explorer

 
Vista:

imprimir del explorer

Publicado por ima (3 intervenciones) el 03/09/2002 08:56:44
Hola,

Estoy haciendo una aplicacion con visual c, he metido en un dialogo el
"internet explorer" como componente,

En el dialogo quiero poner un boton y al hacer click en el boton lo que quiero es imprimir lo que hay en el "internet explorer".

Alguien sabe hacer eso?


Gracias,
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

Imprimir contenido de Internet Explorer en un diálogo

Publicado por Alejandro (1286 intervenciones) el 19/03/2025 16:43:12
Ima, para imprimir el contenido de un control de Internet Explorer en un diálogo de Visual C++, puedes seguir estos pasos:

1. Asegúrate de tener el control de Internet Explorer en tu diálogo: Esto se puede hacer utilizando el control `WebBrowser` en tu aplicación.

2. Manejar el evento del botón: Debes crear un manejador de eventos para el botón que has agregado al diálogo.

3. Usar el método `ExecWB`: El control de Internet Explorer tiene un método llamado `ExecWB` que puedes usar para imprimir el contenido. Este método permite ejecutar comandos de la interfaz de usuario de Internet Explorer, incluido el comando de impresión.

Aquí tienes un ejemplo de cómo implementar esto:

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
#include <afxwin.h>
#include <afxext.h>
#include <exdisp.h>
#include <mshtml.h>
#include <comdef.h>
 
class CMyDialog : public CDialog {
public:
    CMyDialog() : CDialog(IDD_MYDIALOG) {}
 
    // Manejador del botón de impresión
    afx_msg void OnPrintButtonClicked() {
        // Suponiendo que tienes un control WebBrowser llamado m_WebBrowser
        if (m_WebBrowser) {
            // Imprimir el contenido del control WebBrowser
            m_WebBrowser.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER);
        }
    }
 
    // Mapeo de mensajes
    DECLARE_MESSAGE_MAP()
};
 
BEGIN_MESSAGE_MAP(CMyDialog, CDialog)
    ON_BN_CLICKED(IDC_PRINT_BUTTON, &CMyDialog::OnPrintButtonClicked)
END_MESSAGE_MAP()

Notas:


- Asegúrate de que `m_WebBrowser` seaun puntero o referencia al control de Internet Explorer que has agregado a tu diálogo.
- `OLECMDID_PRINT` es el comando que se utiliza para imprimir, y `OLECMDEXECOPT_DONTPROMPTUSER` indica que no se debe mostrar un cuadro de diálogo de confirmación.
- No olvides inicializar la biblioteca COM en tu aplicación antes de usar el control de Internet Explorer, utilizando `CoInitialize` y `CoUninitialize`.

Consideraciones:


- Asegúrate de que el control de Internet Explorer esté correctamente configurado y que el contenido que deseas imprimir esté completamente cargado antes de intentar imprimir.
- Puedes necesitar manejar errores o excepciones en caso de que el control no esté disponible o si hay problemas al intentar imprimir.
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