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

Lier 2 objets de 2 Form différents

3 réponses
Avatar
Duric
Hello,
est-ce que qqn sait si cela est possible ?

But: afficher dans FRM_1, le .FrameToLink de FRM_2
En faisant:
Load FRM_2
Set FRM_2.FrameToLink.Container = FRM_1
ça ne marche pas car visiblement les 2 objets ne font pas partie du
même form. (contrairement à l'exemple de 'Container Property')

Qqn a une astuce.
Merci !

3 réponses

Avatar
Zoury
Salut Duric! :O)

C'est possible en utilisant l'API SetParent.. Mais c'est une conception
très, très étrange que je conseillerais pas surtout pour des raisons de
maintenance... quel en serait l'utilité?

voici un exemple :
'***
' Form1
' 2 CommandButtons
Option Explicit

Private Declare Function SetParent _
Lib "user32" _
( _
ByVal hWndChild As Long, _
ByVal hWndNewParent As Long _
) As Long

Private Sub Command1_Click()
Call SetParent(Command2.hWnd, Form2.hWnd)
End Sub

Private Sub Command2_Click()
Call MsgBox("Hey!")
End Sub

Private Sub Form_Load()

Command1.Caption = "&Change"
Command2.Caption = "&Message"

Call Form2.Show

End Sub
'***
' Form2
' ***VIDE***
Option Explicit

' On implémente l'événement, mais le bouton
' ne se trouve pas nécessairement sur le formulaire
Private Sub Command2_Click()
Call MsgBox("Hey!")
End Sub
'***


--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous
Avatar
Duric
On Mon, 22 Dec 2003 13:23:13 -0500, "Zoury" <yanick_lefebvre at
hotmail dot com> wrote:

Salut Duric! :O)

C'est possible en utilisant l'API SetParent.. Mais c'est une conception
très, très étrange que je conseillerais pas surtout pour des raisons de
maintenance... quel en serait l'utilité?

voici un exemple :
'***
[Coupé]



Merci Zoury ;-)
Exactement ce qu'il me fallait ! Marche impec !

Voici son utilité:
J'ai un très gros Form qui contient pleins de tabstrips et donc pleins
de Frames remplies de contrôles divers & variés.
Il y a tellement d'objets que je ne peux plus en ajouter; l'editeur
(VB6) me dit: "Limite atteinte: impossible de créer davantage de
contrôles pour cette feuille"
De plus, c'est le gros fouilli sur mon Form, rempli de Frames qui se
chevauches; je ne parle même pas de la zone Code :(

L'idée est donc de créer les plus grosses Frames (contenues ds les
Tabstrip) dans des Form séparés et ainsi avoir un plan de travail plus
aéré ET SURTOUT passer la limite de contrôles que l'éditeur m'impose.

Je peux donc fusionner de gros Forms apparemment sans problème (at
runtime). (ça à l'air de passer au niveau des ressources!)

Voilà, maintenant, si qqn à une autre façon pour travailler avec de
TRES GROS Dialogues, je suis preneur !!!

Duric
Avatar
Zoury
> Voilà, maintenant, si qqn à une autre façon pour travailler avec de
TRES GROS Dialogues, je suis preneur !!!



aaahh... :O)

Concernant la limite des contrôles sur un formulaire, sache qu'un formulaire
VB limite à 255 le nombre de **NOMS** différents possibles sur un
formulaire, hors grâce au groupe de contrôles tu peux facilement dépassé 255
contrôles sur un formulaire..



Mais je vois mal comment un formulaire peut-être clair et simple avec autant
de contrôles dessus.. :Oo

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous