IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6] Form Activate


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Points : 45
    Points
    45
    Par défaut [VB6] Form Activate
    Je travaille sur une application MDI.
    Dans la partie form activate de ma fenetre fille j'appele une fonction et cette fonction ne s'execute jamais, le programme n'allant même pas dans le form activate.
    Est--ce normal ?

  2. #2
    Membre actif Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Points : 221
    Points
    221
    Par défaut
    Si tu le met dans le form load ca fait quoi? je pense pas que ca soit normal que ca n'aille pas dans le form_activate..

  3. #3
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    L'événement Activate est subi par la Form active (pas la voisine), bien évidemment !

    Edit :
    L'événement load est subi par la Form chargée ....(pas la voisine non plus)

  4. #4
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Allez montre-nous un peu de code, qu'on ait quelquechose à se mettre sous la dent...
    Le code du "Activate", et comment cette Form est activée...

  5. #5
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Points : 45
    Points
    45
    Par défaut
    Dans le form activate de ma fenetre fille j'ai mon appel à la fonction

    J'ai cette ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If bSearchDone = True Then RemplirGrille
    Qui appele ma fonction. bsearchdone est un boolen mis à true si on execute une recherche
    Je met un point d'arret sur cette ligne de commande et le programme ne s'arrete pas, j'en ai déduit qu'il ne passe pas dans le form activate

  6. #6
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Ok, donc on en vient à ma deuxième question: Comment actives-tu ta form "fille"?

  7. #7
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Points : 45
    Points
    45
    Par défaut
    J'ai 3 fenetres. La fenetre mere et 2 fenetres filles.
    Donc j'ouvre ma 1ere fenetre fille puis j'ouvre ma 2eme fenetre fille en cliquant sur un bouton de la 1ere fille.
    J'arrive à un écran de recherche, je tape un mot puis sur ok, à ce moment la mon booléen passe à true, la 2eme fille se ferme et à ce moment la le programme devrait passer dans le form activate de la 1ere fille et démarrer la fonction remplirgrille...

    j'ai testé tout ça avec une version non MDI du programme et cela fonctionne ...

  8. #8
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Non ,
    L'évènement Activate n'intervient qu'après le chargement et ne se répète pas automatiquement (spontanément) sauf si l'on a déchargé et rechargé !
    Il faut donc le provoquer par : ma-machin-truc-form_activate

  9. #9
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Merci, jmf, c'était un peu le but de ma question...

  10. #10
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Points : 45
    Points
    45
    Par défaut
    Je me demande quand même pourquoi avec le même code cela fonctionne dans la version non MDI et pourquoi ça ne fonctionne pas dans la version MDI

  11. #11
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    comme on ne voit pas ton code (une version et l'autre), on se gratte la tête mais on ne devine pas ...

  12. #12
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Points : 45
    Points
    45
    Par défaut
    Rien ne change entre les 2 versions mais voici les grandes lignes du code

    Dans la 2eme fille j'ai qui active le booléen.

    Et dans le form activate de la 1ere fille j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If bSearchDone = True Then RemplirGrille
    En mettant un point d'arret dans ce form activate, le programme s'arrete lors de la version non mdi mais ne s'arrete pas lors de la version mdi.

  13. #13
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    ceci ne nous éclaire absolument pas , je regrette !...
    ce qui nous intéresse c'est le code ou les codes par lesquels tu charges, montres, décharges ...

  14. #14
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Points : 45
    Points
    45
    Par défaut
    Je pense de toute façon que rien d'autre n'est utile.
    La ligne de code que j'ai montré pour la 2eme fille est la derniere ligne d'un code de + de 1000 lignes (un bouton ok, on clique, et à la fin on passe le booleen à true et on retourne dans la 1ere fille(je me vois donc mal tout poster ici).
    Voici néammoins dans son inégralité le form activate de ma 1ere fille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Private Sub Form_Activate()
       On Error GoTo gestErreur
       If VerifDroits(sUserID, 129) = False Then
          Me.Hide
          Screen.MousePointer = vbDefault
          MsgBox "Vous n'êtes pas autorisé à consulter la bibliothèque", vbOKOnly + vbCritical, "Droits"
          Unload Me
          Exit Sub
       End If
       ' N'afficher que les éléments correspondants à l'onglet en cours
       ReqSQL = "SELECT codeTypeStruct FROM TypeStructChiffrage WHERE nomTypeStruct = '" & _
                TreatQuote(SSTab1.TabCaption(SSTab1.Tab)) & "' AND isModeleTypeStruct = 'Non' AND typeFixeTypeStruct = 'Non'"
       BDD.RecupDonnee ReqSQL, varTableau
       ResizeGrid (CStr(varTableau(0, 0)))
       If frmLogo.AdodcElements.Recordset.RecordCount > 0 Then sCriterePositionnement = TDBGrid1.Columns(1).Text
       frmLogo.AdodcElements.Recordset.Filter = "type = '" & varTableau(0, 0) & "'"
       If sCriterePositionnement <> "" And bSearchDone = False Then frmLogo.AdodcElements.Recordset.Find "code = '" & sCriterePositionnement & "'"
       ' On rafraîchit l'enregistrement en cours (utile surtout pour les ouvrages...)
       frmLogo.AdodcElements.Recordset.Resync adAffectCurrent
       If bSearchDone = True Then RemplirGrille
       Screen.MousePointer = vbDefault
       Exit Sub

  15. #15
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    c'est pourtant simple !
    tu nous montres le/les codes (en nous disant où ils sont mis) concernant uniquement les chargements, déchargements,affichages ou désaffichage de chacune de tes Forms, ainsi que ceux qui concernent leur activation éventuelle, en effaçant tout le reste, qui ne nous intéresse pas !
    A défaut de voir celà, je vois mal comment on pourrait te répondre !

  16. #16
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Points : 45
    Points
    45
    Par défaut
    Oui mais ça c'est deja fait ...
    Quand ma 1ere fille est ouverte et que j'ouvre la 2eme, la 1ere n'est pas déchargée.

  17. #17
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    N'étant pas déchargée, elle ne se réactive pas spontanément (voir plus haut) et ce qui se trouve dans son événement activate ne s'exécute donc plus, sauf forcé (voir plus haut) !

  18. #18
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Points : 45
    Points
    45
    Par défaut
    Ca je l'ai compris mais je me demande pourquoi mon programme fonctionne dans une version non MDI mais ne fonctionne pas dans une version MDI

  19. #19
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Je n'en sais rien, du seul fait que je ne vois pas, non plus, le code de ton appli sans MDI !

  20. #20
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Points : 45
    Points
    45
    Par défaut
    Quelle importance ? Puisque à part la propriété mdichild mise a true il n'y a absolument aucune différence de code

Discussions similaires

  1. [C# 2.0] Comment connaitre la Form active ?
    Par 5:35pm dans le forum Windows Mobile
    Réponses: 4
    Dernier message: 10/08/2006, 22h57
  2. [C#] Cacher une Form active
    Par ArHacKnIdE dans le forum Windows Forms
    Réponses: 10
    Dernier message: 22/03/2006, 16h35
  3. [C#] liste des form actives
    Par chnew dans le forum C#
    Réponses: 5
    Dernier message: 02/01/2006, 13h04
  4. [VB6]Form en premier plan
    Par VeNus2 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 30/04/2004, 12h05
  5. [VB6] [Form] Interdire le déplacement d'une feuille
    Par Loïc dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 23/09/2002, 15h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo