----- 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]