Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ouvrir la feuille d'une autre application

4 réponses
Avatar
Daniel
Bonjour.

En faite le sujet est vrai et faux.
Ce que je veux, c'est ouvrir une application, mais l'ouvrir en tant que =
feuille enfant, c'est-=E0-dire =E0 l'int=E9rieur de ma feuille MDIForm. =
Sachant que mon autre application d=E9marre avec Sub Main() puis affiche =
par la suite la feuille enfant. Je peux toujours retirer le Sub Main() =
si cela =E9tait n=E9cessaire.

=C0 partir de cela, je voudrais =E9galement =EAtre capable d'ouvrir une =
feuille de l'application 1 =E0 partir de l'application 2, par exemple.

Je sais que c'est assez compliqu=E9. C'est peut-=EAtre m=EAme =
impossible. Faites moi-le savoir afin que je trouve une autre =
alternative si tel =E9tait le cas.

Si cela est possible, indiquez moi-le =E9galement, puis un exemple =
concret si possible.

--=20
Merci d'avance de vos r=E9ponces.

Cordialement
Daniel - Z

4 réponses

Avatar
François Picalausa
Bonjour/soir,

Il me semble que ce n'est pas possible.
Par contre tu peux créer des composants ActiveX que tu créerais
dynamiquement sur des feuilles créées dynamiquement:
http://faq.vb.free.fr/index.php?questionˆ
http://support.microsoft.com/default.aspx?kbid0670

et pour une feuille:
Dim MyNewForm As Form1
Set MyNewForm = New Form1
MyNewForm.Show

Ce contrôle activeX pourra aussi être doté d'un menu qui remplacera celui de
la form, si besoin en est.

Une autre optique serait d'envoyer à un ActiveX Dll ou à un ActiveX Exe la
surface de traçage (soit hDc soit un objet déterminé tel qu'un picturebox).
Il faudrait alors créer ce conteneur (toujours forms et contrôles
dynamiques).

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

"Daniel" a écrit dans le message de
news:
Bonjour.

En faite le sujet est vrai et faux.
Ce que je veux, c'est ouvrir une application, mais l'ouvrir en tant
que feuille enfant, c'est-à-dire à l'intérieur de ma feuille MDIForm.
Sachant que mon autre application démarre avec Sub Main() puis
affiche par la suite la feuille enfant. Je peux toujours retirer le
Sub Main() si cela était nécessaire.

À partir de cela, je voudrais également être capable d'ouvrir une
feuille de l'application 1 à partir de l'application 2, par exemple.

Je sais que c'est assez compliqué. C'est peut-être même impossible.
Faites moi-le savoir afin que je trouve une autre alternative si tel
était le cas.

Si cela est possible, indiquez moi-le également, puis un exemple
concret si possible.


Avatar
Daniel
Bonjour.

Créer une feuille dynamiquement ? Oula... c'est assez compliquer vu ce que contiennent toutes mes Form, ce serait très long.

De plus je ne vois pas en quoi cela changerait quelque chose ? Je pourrais utiliser ces Form dans les 2 applis ?

Bref, peut-être que si mais ce serait tout de même très compliqué...

--
Merci d'avance de vos réponces.

Cordialement
Daniel - Z
Avatar
François Picalausa
"Daniel" a écrit dans le message de
news:e%
Bonjour.

Créer une feuille dynamiquement ? Oula... c'est assez compliquer vu
ce que contiennent toutes mes Form, ce serait très long.

De plus je ne vois pas en quoi cela changerait quelque chose ? Je
pourrais utiliser ces Form dans les 2 applis ?



Bonjour/soir,

Le principe du contrôle ActiveX est de contenir tous les contrôles dont tu
as besoin.
Un contrôle = une appli.
Danc ce contexte, tu as juste à recréer dynamiquement la base commune
dynamiquement (un Form contenant les contrôles requis) et à créer ton
contrôle activex (qui contient l'application) dessus.

Par la méthode Dll, ça ne fonctionne que si tu n'as besoin que d'une surface
de traçage que tu pourrais alors transférer...

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com
Avatar
ng
Salut,
Fais un ActiveX ou regarde du coté de l'API SetParent.

Nicolas.
"François Picalausa" a écrit dans le message de news:
eXCN$
Bonjour/soir,

Il me semble que ce n'est pas possible.
Par contre tu peux créer des composants ActiveX que tu créerais
dynamiquement sur des feuilles créées dynamiquement:
http://faq.vb.free.fr/index.php?questionˆ
http://support.microsoft.com/default.aspx?kbid0670

et pour une feuille:
Dim MyNewForm As Form1
Set MyNewForm = New Form1
MyNewForm.Show

Ce contrôle activeX pourra aussi être doté d'un menu qui remplacera celui


de
la form, si besoin en est.

Une autre optique serait d'envoyer à un ActiveX Dll ou à un ActiveX Exe la
surface de traçage (soit hDc soit un objet déterminé tel qu'un


picturebox).
Il faudrait alors créer ce conteneur (toujours forms et contrôles
dynamiques).

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

"Daniel" a écrit dans le message de
news:
> Bonjour.
>
> En faite le sujet est vrai et faux.
> Ce que je veux, c'est ouvrir une application, mais l'ouvrir en tant
> que feuille enfant, c'est-à-dire à l'intérieur de ma feuille MDIForm.
> Sachant que mon autre application démarre avec Sub Main() puis
> affiche par la suite la feuille enfant. Je peux toujours retirer le
> Sub Main() si cela était nécessaire.
>
> À partir de cela, je voudrais également être capable d'ouvrir une
> feuille de l'application 1 à partir de l'application 2, par exemple.
>
> Je sais que c'est assez compliqué. C'est peut-être même impossible.
> Faites moi-le savoir afin que je trouve une autre alternative si tel
> était le cas.
>
> Si cela est possible, indiquez moi-le également, puis un exemple
> concret si possible.