Lancer form en invisible VB6 [Résolu]

Signaler
Messages postés
4
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
13 septembre 2006
-
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
-
Bonjours
Je voudrais juste savoir si il y avait une petite ligne de code qui permettrait de lancer ma form1 sans quel soit visible sur le bureau

Ou alors avec un timer mes je debute alors j'ai beaucoup de mal

15 réponses

Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
21
L'erreur est dans le 1.

Private Sub form<strike>1</strike>_load()
Me.Hide
End Sub

Quel que soit le nom de la form, le code est celui-ci :


Private SubForm<strike></strike>_Load()

Me.Hide
' le reste ici
End Sub

Manu
--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
ton erreur est dûe au fait que tu utilises un procédure qui n'est pas un évènement de ta Form.
double-click dessus et apparaîtra automatiquement ces lignes :

Private Sub Form_load()

End Sub

là tu y mettras ton Me.Hide

(la différence si tu ne l'as pas vue est le 1 de Form1 qui ne doit pas exister.)
++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
TaForm.Load chargera ta feuille sans l'affichée.

TaForm.Show, affichera ta feuille et si nécessaire la chargera par la même occasion.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
salut,
la solution de Casy fonctionne uniquement si taForm1 n'est pas la première à s'ouvrir (ce qui m'étonnerait vu la question) ; genre appelée d'un Main()

tu dois alors juste faire Me.Hide au début de ton Form_Load()

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
4
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
13 septembre 2006

Merci de repondre si vite
Oui PCPT c'est la 1er form que j'essaye de fair disparaitre

Mais sa marche pas :s voici la ligne que j'ai mis :

Private Sub form1_load()
Me.Hide

End Sub

Ou est mon erreur ??
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
21
Rectificatif pour casy :




<strike>
TaForm.Load
</strike>





Load TaForm








Manu


--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
6
Je pense que lorsque le premier évènement form_load se produit, la form n'est pas encore visible (je pense cela notamment parce que certain codes mettent un form.show dans le form_load du form principal...) et que donc il y'a une instruction form.show dans la classe form qui se produit après le form_load... Essaye peut-être de mettre le form.hide dans form_GotFocus ?
Ou bien form.visible = false ?

Au pire essaye de faire une boucle style

While form.visible = false
doevents 'On attend que l'évènement externe montre le form
wend
form.hide

Désolé de pas pouvoir être plus sûr, j'ai plus vb6...

Julien.
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
tous au taquet dites-donc ^^
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
6
J'ai dû extrapoler un peu vite lol :p

Julien.
Messages postés
4
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
13 septembre 2006

Grands merci aux admins sa marche

Super comme forum et des reponse clair tres tres rapidement ^^
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Julien je confirme,
 
Normalement l'évènement Form_Load doit intervenir avant que la form soit affiché. Il intervient d'ailleurs si on fait un <strike>Form.Load</strike> pardon un Load Form1 alors que la Form ne sera pas affichée.

Dailleurs l'ordre des évènements est le suivant

Form_Initialize
Form_Load      ' Avant affichage
Form_Activate   ' Après Affichage
Form_GotFocus

Les deux derniers se reproduisant chaque fois que le form reprend le focus

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
Activate n'a lieu qu'une seule fois, au premier affichage!

<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Non PCPT, Activate a lieu chaque fois que la feuille reprend le focus mais uniquement au sein de la même application. GotFocus a lieu normalement aussi quand c'est une autre application qui le perd.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
l'un comme l'autre ne signalent leur focus qu'entre leur Form.
fait le test sur une seule Form, ces 2 évènements ne se produiront qu'une seule et unique fois

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Evidemment, ce qui est logique.

Pour qu'une form prenne le focus, il faut d'abords qu'elle le perde, donc qu'il l'aille à une autre form du projet. Si évidement c'est la seule form du projet, elle ne prendra le focus qu'une seule fois, à l'affichage.

Mais dans le cas d'un projet à plusieurs forms, il faut savoir que activate comme gotfocus sont générés chaque fois que la form reprend le focus.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #