[RESUELTO] Writer incrustado en C#

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
roliwar
Mensajes: 52
Registrado: Vie Feb 25, 2011 1:22 am

[RESUELTO] Writer incrustado en C#

Mensaje por roliwar »

Buenas tardes a toda la comunidad.

Planteo mi problema para saber si alguien conoce la solución (estoy seguro de ello):

Estoy haciendo una aplicacion en la que pueda abrir el Writer, trabajar con un documento y después guardarlo en base de datos. He logrado con los ejemplos que existen, abrir desde mi aplicacion el Writer, guardar el documento generado y cerrar nuevamente el writer, sin embargo no es todo lo que necesito, ya que me gustaría poder "incrustar" en mi aplicacion la ventana de writer para que el usuario no pueda cerrarla por si mismo, sino a través de mi aplicación. También necesito inactivar algunas barras y opciones de writer, para limitar al usuario en dichas opciones y herramientas.

¿es posible hacer esto a través de .Net?

Llevo dos días leyendo parte de la documentación relacionada con el Framework API, pero aún no consigo hacer nada de lo que necesito. Seguramente estoy haciendo todo mal, y es por eso que pido consejo de los expertos.

GRACIAS!
Última edición por roliwar el Vie Mar 04, 2011 4:33 pm, editado 1 vez en total.
OpenOffice 3.1 en Windows Seven
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Writer incrustado en C#

Mensaje por mauricio »

Hola...

Desconozco completamente la programación en C#, pero me parece que empotrar otra aplicación, en este caso Writer, en la tuya, tiene que hacerse con el lenguaje usado, es decir, tienes que buscar como hacerlo desde C#. Generalmente lo que se hace es buscar el identificar de la ventana (Handle) y usar este para incrustarlo en la aplicación, por ejemplo, mira la siguiente imagen:
captura_01.png
El código anterior esta hecho en una aplicación Gambas en Linux, y el código que hace todo el trabajo son dos líneas:

Código: Seleccionar todo

'Buscamos la ventana por su titulo
   aHandle = Desktop.Find(Trim(txtTitle.Text))
'El primer elemento es la ventana (si se encuentra)
    iHandle = aHandle[0]
'La incrustamos 
  TRY embEmbedder.Embed(iHandle)
Por supuesto, para tu segunda pregunta, muchas cosas se pueden controlar de Writer, muchas no están documentadas, dependerá mucho de que opciones quieras controlar.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
roliwar
Mensajes: 52
Registrado: Vie Feb 25, 2011 1:22 am

Re: Writer incrustado en C#

Mensaje por roliwar »

Gracias por tu respuesta y perdón por la tardanza.

En cuanto a lo que me gustaría controlar es por ejemplo:

* que no puedan cerrar la aplicación si no es por medio de un botón de MI aplicación
* que no puedan guardar ni crear un nuevo archivo sino solo a través de mi aplicación.

En sí, lo que necesito es que solo queden habilitadas las opciones de edición del documento, tales como formato, fuente, tamaño de fuente, margenes, colores y demás cosas propias de editor.

¿esto es posible?

Aclaro que NO estoy esperando que me den el código para hacerlo, sino simplemente que me digan si es posible y alguna idea genérica para lograrlo.

Gracias.
OpenOffice 3.1 en Windows Seven
Responder