begin process at 2008 08 22 01:30:33
1 229 745 membres
17 nouveaux aujourd'hui
14 267 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : setfocus [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (chrisou31)

setfocus le 24/09/2003 11:28:39

chrisou31

bonjour a tous

je fais une petite calculatrice pour me roder pepere
lors du demarrage de l'appli, je fais un form.show suivi d'un form.setfocus dans le but de gerer les entrees du clavier pour la calculatrice
mais le setfocus ne se fait pas, ce qui fait que ma gestion n'est pas bonne et j'ecris n'importe quoi dans le textbox de resultat
pourtant lorsque je passe en debug avec un point d'arret sur setfocus, la tout se passe bien, le focus est bien sur ma form
je pensais faire une tempo avant l'instruction setfocus mais ca n'y fait rien

quelqu'un peut m'expliquer ce qui se passe?

Re : setfocus le 24/09/2003 11:47:16

DARKSIDIOUS
Membre Club
(Admin CS)
A mon avis, le focus se fait sur un contrôle de ta feuille et non directement sur ta feuille.

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]

Re : setfocus le 24/09/2003 11:54:23

chrisou31

on peut directement mettre le focus sur une feuille
d'ailleurs ca marche bien lorsque je met un point d'arret avant le setfocus

Re : setfocus le 24/09/2003 14:36:32

jockos
Il faut tout simplement que tu mettes les SetFocus TOUJOURS dans l'évenement Activate de ta Form.


Dans l'évenement Form_Load, ça ne marchera jamais.

Par contre, pour éviter que le Focus se fasse à chaque fois que tu cliques sur ta Form, il faut faire cela :

Dans ta Form :

Dim FirstLoad as Boolean

Private Sub Form_Load()
FirstLoad=True
End Sub

Private Sub Form_Activate()
If FirstLoad then
FirstLoad=False
Text1.SetFocus '(par exemple)
End If
End Sub

Voilà, c'est pas plus compliqué que cela...
En réalité, dans l'évènement Form_Load, les controles contenues dans ta Form ne sont pas ncore chargés graphiquement et tu ne peux donc pas faire de SetFocus.

Bon courage...

Re : setfocus le 24/09/2003 15:57:21

chrisou31

>jockos

j'ai fait comme tu dis en placant le setfocus dans form_activate mais c'est toujours pareil, le focus se fait sur mon textbox alors que je lui demande de le faire sur ma form

et toujours pareil en placant un point d'arret sur form.setfocus ca marche
j'ai essaye de mettre le focus sur un control et la ca marche

pourtant sur l'aide on peut mettre le focus sur la form alors je comprend pas

Re : setfocus le 24/09/2003 16:07:37

jockos
Le focus va se mettre sur le controle ayant le plus petit "TabIndex" (propriétés) de ta Form.

Pourquoi veux-tu mettre uniquement le focus sur ta Form et sur aucun autre control ?

Une form a le focus quand on clique sur la form elle même.
Essai d'appeller l'évènement Form_Click dans l'évènement Form_Activate pour voir ce que cela va donner.

Bon courage...


Classé sous : form, setfocus, passe, calculatrice

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS