econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutModérateurDernière intervention23 décembre 200823 13 sept. 2006 à 15:29
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.
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201849 13 sept. 2006 à 15:31
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
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201849 13 sept. 2006 à 15:13
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutModérateurDernière intervention23 décembre 200823 13 sept. 2006 à 15:25
Rectificatif pour casy :
<strike>
TaForm.Load
</strike>
Load TaForm
Manu
--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 13 sept. 2006 à 15:30
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...
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 13 sept. 2006 à 15:44
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 #
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 13 sept. 2006 à 16:18
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 #
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201849 13 sept. 2006 à 16:39
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
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 13 sept. 2006 à 16:43
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 #