| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
MarioMarieti Cmdr

Registrado: 28 Dic 2004Mensajes: 144Ubicación: Murcia (España)
|
Publicado: Mar 31 Mar, 2009 7:05 pm Asunto: Invocar el asistente de impresión de Windows |
|
|
Hola a todos.
Imaginemos que tengo un scrollbox cargado con imagenes, y si yo selecciono varias de ellas, existe alguna forma de invocar/lanzar el asistente de impresión de windows??
Gracias a todos!! |
|
| Volver arriba |
|
 |
jacko Master


Registrado: 03 Sep 2005Mensajes: 287Ubicación: Colombia
|
Publicado: Sab 04 Abr, 2009 12:12 am Asunto: |
|
|
Hola Mario
Revisa la pestaña Dialogs... el componente TPrintDialog.
Saludos, _________________ Dios es real... a menos que se declare entero! |
|
| Volver arriba |
|
 |
MarioMarieti Cmdr

Registrado: 28 Dic 2004Mensajes: 144Ubicación: Murcia (España)
|
Publicado: Lun 06 Abr, 2009 7:25 pm Asunto: |
|
|
Gracias, pero eso no me sirve.
Yo me refiero a la ventanita que se ejecuta cuando seleccionas varias imagenes con el ratón y con el botón derecho seleccionas imprimir.
Si alguien sabe como hacerlo, gracias de antemano. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Lun 06 Abr, 2009 10:27 pm Asunto: |
|
|
| Código: | // Añadir: #include <ComObj.hpp>
Variant wiaDlg = CreateOleObject("WIA.CommonDialog");
Variant wiaVect = CreateOleObject("WIA.Vector");
wiaVect.OleProcedure("Add", "c:\\dir\\imagen1.bmp");
wiaVect.OleProcedure("Add", "c:\\dir\\imagen2.bmp");
wiaDlg.OleProcedure("ShowPhotoPrintingWizard", wiaVect);
wiaDlg = wiaVect = Unassigned(); |
Más información:
[WIA CommonDialog Object]
http://msdn.microsoft.com/en-us/library/ms630492(VS.85).aspx
[WIA ShowPhotoPrintingWizard Method]
http://msdn.microsoft.com/en-us/library/ms630781(VS.85).aspx |
|
| Volver arriba |
|
 |
MarioMarieti Cmdr

Registrado: 28 Dic 2004Mensajes: 144Ubicación: Murcia (España)
|
Publicado: Mie 08 Abr, 2009 3:17 pm Asunto: |
|
|
Gracial LEO por contestar, pero lo he probado y me da el error de que la clase es desconocida cuando lo ejecuto al pinchar sobre un boton. Si me puedes dar alguna pista.
Gracias de nuevo!! |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
|
| Volver arriba |
|
 |
MarioMarieti Cmdr

Registrado: 28 Dic 2004Mensajes: 144Ubicación: Murcia (España)
|
Publicado: Vie 10 Abr, 2009 5:23 pm Asunto: |
|
|
Gracias Leo, ya estuve investigando y me descargue la clase, y justo cuando me contaste el la duda ya lo estaba probando y funciona perfectamente. Gracias
Variant wiaDlg = CreateOleObject("WIA.CommonDialog");
Variant wiaVect = CreateOleObject("WIA.Vector");
wiaVect.OleProcedure("Add", "d:\\1.jpg");
wiaVect.OleProcedure("Add", "d:\\2.jpg");
wiaVect.OleProcedure("Add", "d:\\3.jpg");
wiaVect.OleProcedure("Add", "d:\\4.jpg");
wiaDlg.OleProcedure("ShowPhotoPrintingWizard", wiaVect);
wiaDlg = wiaVect = Unassigned; |
|
| Volver arriba |
|
 |
manmaz Cdt

Registrado: 27 Nov 2005Mensajes: 4
|
Publicado: Lun 21 Sep, 2009 11:59 pm Asunto: |
|
|
Saludos Mario, _Leo:
He probado el codigo que comentais:
///////////////////////////////////////////////////////////////////
// Añadir: #include <ComObj>
Variant wiaDlg = CreateOleObject("WIA.CommonDialog");
Variant wiaVect = CreateOleObject("WIA.Vector");
wiaVect.OleProcedure("Add", "c:\\dir\\imagen1.bmp");
wiaVect.OleProcedure("Add", "c:\\dir\\imagen2.bmp");
wiaDlg.OleProcedure("ShowPhotoPrintingWizard", wiaVect); <-- Falla!!!
wiaDlg = wiaVect = Unassigned();
//////////////////////////////////////////////////////////////////
pero me lanza una excepcion: EOleSysError, cuando se llama al OleProcedure del wiaDlg. Por lo visto no interpreta bien el Variant en la los TAutoArgs. He estado buscando información por internet y, se aconseja que se incluya la clase utilcls.h y/o que se integre en la directiva
del preprocesador el comando "WIN32". He probado ambas alternativas y no consigo solucionar el problema.
Si me pueden ayudar, se lo agradezco.
Un Saludo. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 22 Sep, 2009 12:38 am Asunto: |
|
|
| manmaz escribió: | | pero me lanza una excepcion: EOleSysError, cuando se llama al OleProcedure del wiaDlg |
Hola, has descargado y registrado la dll necesaria supongo. Que versión de C++Builder utilizas ? y que versión de Windows ? |
|
| Volver arriba |
|
 |
manmaz Cdt

Registrado: 27 Nov 2005Mensajes: 4
|
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 22 Sep, 2009 1:17 am Asunto: |
|
|
Te has asegurado que las líneas en las que seleccionas las imágenes apunten a archivos existentes?
wiaVect.OleProcedure("Add", "c:\\dir\\imagen1.bmp");
(Al señalar a archivos inexistentes es de la única manera que he conseguido reproducir el error) |
|
| Volver arriba |
|
 |
manmaz Cdt

Registrado: 27 Nov 2005Mensajes: 4
|
Publicado: Mar 22 Sep, 2009 1:23 am Asunto: |
|
|
Gracias Leo!!!:
La ruta estaba correcta, lo que ocurría, es que le puse unas imagenes
en jpeg!!!. Cambié el formato a bmp y todo funciona.
Muchas gracias por tu ayuda.
Un saludo. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 22 Sep, 2009 1:29 am Asunto: |
|
|
| He probado con las siguientes extensiones y no me ha dado ningún error: .jpg, .jpeg, .bmp, .tif y .png (la prueba la he hecho con el BCB6+Upd4 en Windows Vista+SP2) |
|
| Volver arriba |
|
 |
manmaz Cdt

Registrado: 27 Nov 2005Mensajes: 4
|
Publicado: Mar 22 Sep, 2009 1:37 am Asunto: |
|
|
He hecho la prueba tambien con una imagen jpeg y me ha funcionado pero usando:
| Código: |
wiaDlg.Exec(Procedure("ShowPhotoPrintingWizard") << wiaVect);
|
muchas gracias, Leo!!!!!!. |
|
| Volver arriba |
|
 |
|