J'ai un pb avec la gestion d'app mdi

nabilac Messages postés 80 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 30 mai 2006 - 12 nov. 2004 à 12:15
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 12 nov. 2004 à 14:54
bonjour,
j'ai un pb avec la gestion d'app mdi

en fait, j'ai une form mdi (Fmdi) qui 2 forms child
- F1 contient un treeview
- F2 contient un textbox

a partir du menu affichage Fmdi, j' ouvre F1 et F2

ce que je veux, c'est lorsque je clique sur un node de F1, il affiche son nom dans le textbox de F2.

j'arrive a la faire mais au lieu qu'il me l'affiche dans F2, il charge une nouvelle F2 dans laquelle il affiche le nom.

donc comment faire nous ne pas afficher un child qui est déja ouvert, mais il n'a pas le focus car au moment du click, c'est F1 qui est active??????????

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
12 nov. 2004 à 12:38
Salut nabilac
Juste une idée comme ça :

Dim x As MDIForm
For Each x In Me
If x.Name = "F2" Then
x.TextBox.Text = ...
Exit For
End If
Next

Vala
Jack
NB : Je ne répondrais pas aux messages privés
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 nov. 2004 à 12:43
Comment fais-tu pour afficher dans F2 ? Ton problème vient sûrement de là : tu dois créer une nouvelle instance sans faire attention, d'où la deuixième feuille qui se lance.
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
nabilac Messages postés 80 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 30 mai 2006
12 nov. 2004 à 14:13
pour creer ma form : je fais appel a ce code lorsque je clique sur le menu "DP" sans activer load


    Set FDP = New FDP1
    FDP.ZOrder 0
    FDP.Visible = True
    FDP.Show
    DP.Enabled = False


sachant que dans Modul1, FDP1 est déclaré comme form public
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
12 nov. 2004 à 14:48
re
Bizarre : ça fait beaucoup d'ordre identiques !
ZOrder, Visible, Show --> le résultat sera le même (à qq détails près)
Pourquoi la rends-tu visible si c'est pour la rendre Enabled False aussitôt après ?
Comme d'habitude, laisse le temps au système d'exécuter tes ordres : Par exemple, quand tu fais un .Show : VB va afficher ta forme et exécuter le Form_Load, Form_Resize ... Si tu fais des actions immédiatement derrière le .Show, elles n'auront pas le temps de se faire : Insère un DoEvents après des commandes qui touchent l'affichage (conseil)

Vala
Jack
NB : Je ne répondrais pas aux messages privés
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 nov. 2004 à 14:54
Ton problème vient de : Set FDP = New FDP1

Une fois que FDP est définit, plus besoin de faire de nouvelles instances de FDP1 !

Donc :
FDP.ZOrder 0
FDP.Visible = True
DP.Enabled = False

Ce code devrait suffire
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
Rejoignez-nous