PDA

Ver la Versión Completa : Form contenedor de otra aplicacion


vejerf
30-01-2007, 12:46:01
Buenas a tod@s...
la pregunta del día es la siguiente... ¿cómo puedo hacer para abrir una aplicación(word, excel...) dentro de la ventana de un formulario?
La idea es tener mi propia aplicación, con mi propio menú desde el cual pueda abrir o bien un fichero word o excel o el que me de la gana jeje :p
Gracias a tod@s...

Neftali [Germán.Estévez]
30-01-2007, 17:23:45
A ver si este ejemplo te sirve. Es simple, pero te puede dar una idea.
Se trata de usar la API SetParent para asignar el handle de la nueva aplicación a un TWinControl de Delphi.

Como ocupa mucho lo subo a MegaUpload. (http://www.megaupload.com/?d=BQK14QD9)

seoane
30-01-2007, 18:08:59
Lo que propone neftali es algo parecido a esto:

http://www.clubdelphi.com/foros/showpost.php?p=157346&postcount=6

vejerf
30-01-2007, 21:11:10
Muchas gracias compis...
ahora abusando de vuestra confianza otra pregunta...
quiero q la ventana de wordpad, por usar el ejemplo q me dais, no tenga la posibilidad de minimizar, maximizar ni tan siquiera el titulo... como puedo hacerlo?...
es modificar la ventana de una aplicacion q estoy usando!!!
Gracias

roman
30-01-2007, 21:30:51
Como ocupa mucho lo subo a MegaUpload. (http://www.megaupload.com/?d=BQK14QD9)


Todos los puertos de descarga asignados a su país (Mexico) están en uso. Por favor, inténtelo nuevamente dentro de unas horas


¿Sería mucho pedir si lo pusieras en tu espacio web del club? :rolleyes:

// Saludos

Neftali [Germán.Estévez]
31-01-2007, 11:23:58
¿Sería mucho pedir si lo pusieras en tu espacio web del club?

Pues no, Román, no sería mucho pedir. Es más, sería lo normal, pero es que estos días tengo las neuronas en otro sítio y ni me había acordado de que tenemos el espacio...

...Subiendo.

http://www.terawiki.clubdelphi.com/

apicito
31-01-2007, 14:15:22
Alguien puede explicarme por qué si funciona con msOffice no lo hace con Open Office? Con el segundo envez de abrirlo en la misma ventana lo abre en una ventana independiente.
Yo no tengo instalado el msOffice y cuando abro un .doc o .xls me arranca el OpenOffice.
Que es lo que cambia de uno a otro?.
Tengo abierta esta consulta en SourceForge:
http://sourceforge.net/forum/forum.php?thread_id=1613530&forum_id=627999
Pero no acabo de entenderlo. A alguien le suena esto?.
Un saludo.

Neftali [Germán.Estévez]
31-01-2007, 14:57:27
Claro que funciona con OpenOffice, sólo que la clase de OpenOffice es diferente de la de Word o Excel.
Las clases para las plicaciones Word y Excel son:

WORD_CLASS = 'OpusApp';
EXCEL_CLASS = 'XLMAIN';


Y si usas OpenOffice son:


WORD_CLASS = 'SALFRAME';
EXCEL_CLASS = 'SALFRAME';


NOTA: LA versión con la que estoy comprobando esto es la version "Portable" de OpenOffice, supongo que en la otra serán iguales.

seoane
31-01-2007, 15:05:29
Alguien puede explicarme por qué si funciona con msOffice no lo hace con Open Office? Con el segundo envez de abrirlo en la misma ventana lo abre en una ventana independiente.


La explicación es muy sencilla, en el ejemplo de Neftali se abre el documento y luego se busca la ventana por su nombre de clase, que no es el mismo para micrsosft office que para open office. Esto no es un bug, lo que tienes es que encontrar el nombre de la clase de las ventanas de Open office y utilizar ese en vez del que usa Neftali.

También puedes usar el ejemplo que muestro yo, en el que capturamos la primera ventana que muestra la aplicación, sea la aplicación que sea.

EDITO: Parece que neftali estuvo mas rápido.

apicito
31-01-2007, 15:32:11
En el ejemplo de Seoane, me abre el notepad fuera del formulario delphi.
En el ejemplo de neftali he cambiado
WORD_CLASS = 'SALFRAME';
EXCEL_CLASS = 'SALFRAME';
y tambian abre las aplicaciones fuera en una ventana independiente.
Que puede estar pasando?

vejerf
31-01-2007, 15:54:24
Ahora mi pregunta es la siguiente... donde busco yo el nombre de la clase de las ventanas???
Lo que me interesa ahora es abrir dentro de mi formulario una ventana de la aplicación google earth

PD: sois unos fenómenos!!!:D

Neftali [Germán.Estévez]
31-01-2007, 17:22:57
me abre el notepad fuera del formulario delphi.
...
En el ejemplo de neftali he cambiado tambian abre las aplicaciones fuera en una ventana independiente.


Los ejemplos eran eso, ejemplos.
Se trataba de comprenderlos y modificarlos, no estaba todo hecho.
En el caso de mi ejemplo, el problema es que si la aplicación tarda mucho en abrirse, cuando se ejecuta la línea que busca la ventana, todavía no se tiene un Handle correcto.
En el caso de Seoane, por lo que he visto se usa un TimeOut, para corregir ese problema, con lo que con un tiempo suficientemente alto debe funcionar.

... donde busco yo el nombre de la clase de las ventanas???

Hay muchas aplicaciones que te muestran esta información. Por ejemplo, WinExplorer (http://www.nirsoft.net/utils/winexp.html).

me interesa ahora es abrir dentro de mi formulario una ventana de la aplicación google earth

:D:D:D link (http://img251.imageshack.us/img251/8145/imagen3ff5.jpg)

apicito
31-01-2007, 17:41:56
Gracias por la ayuda y perdonad mi burrería.
Llevo más de dos años buscando esto..., he hecjo preguntas en foros, incluso en este, y por fin...
Un saludo.

vejerf
01-02-2007, 12:48:36
Gracias por todo Neftali... pero sigue sin funcionarme del todo :( ... consigo que se abra la aplicación de google earth, pero no dentro de mi form sino como aplicación aparte... en fin... patientia et constantia :rolleyes:

casacham
08-07-2007, 17:13:32
Bueno, es solo para decir que esta muy lindo y clarificador su ejemplo

Desde ya gracias por la ayuda