----- Original Message -----
From: "Bernard Marcelly" <[EMAIL PROTECTED]>
To: <prog@fr.openoffice.org>
Sent: Thursday, February 24, 2005 7:17 PM
Subject: Re: [prog] Fenetre OpenOffice dans un panneau Delphi


> Le 2005-02-24 13:34, Olivier Thébault a écrit :
> > Je souhaite charger openoffice sur un TPanel de Delphi, pour faire le
même
> > effet que MS Word dans un container OLE. OpenOffice est livré avec un
ActiveX
> > qui permet de faire ce genre de chose.
> > Après avoir lu les sources je n'ais pas bien compris comment il fait
cela.
> > A quoi sert "com.sun.star.awt.WindowDescriptor" ?
> >
> > Comment passer à OO l'handle  de la fenêtre qui doit le contenir ?
> >
> > Si quelqu'un a quelques lumières cela serait sympa.
> >
>
> Bon, j'essaie de répondre, mais je n'ai jamais pratiqué cela, voilà ce
> que j'ai obtenu (Delphi 7 Personal Edition, Win XP, OOo 1.1.3).
>
> Le contrôle activeX est so_activex.dll qui se trouve dans
{install}\program\
>
> Il faut d'abord enregistrer le contrôle dans la base de registres de
> Windows. J'ai utilisé la ligne de commande :
> c:\Windows\system32\regsvr32 {install}\program\so_activex.dll
> Une méthode plus simple est probablement avec Delphi : menu Composants >
> Importer un contrôle Delphi > bouton ajouter, et rechercher l'activeX.
> Note : pour dé-registrer, en ligne de commande ajouter /u
>
> Ensuite, Delphi : menu Composants > Importer un contrôle Delphi :
> - sélectionner l'activeX dans le panneau, il a pour nom "wrap activex
> 1.0 Type Library"
> - cliquer le bouton Installer, choisir un nom de package
>
> Maintenant l'activeX est présent dans l'onglet ActiveX des composants
> Delphi. Yapluka faire un glisser-déposer sur le contrôle TPanel.
> Patienter, ça met un certain temps à se réveiller. Je n'ai pas vu de
> propriétés intéressantes pour ce contrôle, dans l'inspecteur.
>
> À l'exécution (et au design) on a maintenant une fenêtre sur un document
> Writer vierge. Oui, mais les boutons ne semblent pas fonctionnels; et je
> ne sais pas comment lui dire de montrer un Calc ou Draw au lieu d'un
Writer.
>
> Si cela peut aider ...
>     Bernard
>

Merci pour ta réponse....

J'ai effectivement déjà testé le contrôle activeX fourni avec OO. Le seul
problème
c'est que je souhaite simplement visualiser un document OO avec une gestion
de la modification qui passe par ma propre interface.
Le problème de l'activeX (so_activex.dll ) c'est qu'il donne accès à toutes
les possibilités d'OO, ce
que je ne souhaite pas. C'est en regardant les sources de cet ActiveX que je
me suis
dit qu'il est parfaitement possible d'inclure OO dans une fenêtre de mon
choix et
de faire exactement ce que je veux avec.

La question que je me pose est comment ça marche avec OO. Comment
lui passer le handle de ma fenêtre parent ? Avec Windord on a des interfaces
style IOleSite, .... qui permettent de positionner Word dans une fenêtre
parent.

Mais avec OO cela semble plus laborieux....

C'est en lisant les sources et la doc des API que je suis tombé sur
com.sun.star.awt.WindowDescriptor

Mais honnetement, je n'ais pas compris comment ça marche....Et c'est
précisément l'objet de ma
requete....comment ça marche ? Pour que je puisse ensuite l'implémenter dans
Delphi.

Olivier.




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à