Touche de fonction Dans feuil Mère MDI [Résolu]

Signaler
Messages postés
139
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
8 décembre 2008
-
Messages postés
139
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
8 décembre 2008
-
bonjour,
peut-on (d'une manière ou d'une autre) utiliser les touches de fonction (F1, F2....) dans une feuil mère MDI pour exécuter des procédures et des fonctions.

Merci d'avance

16 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Là c'est le 4ème... (le temps qui refroidisse un peu) lol

^^ pour la procédure, elle est testée, et approuvée par mon vb6 !! :))
Messages postés
139
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
8 décembre 2008

J'ai oublié de dire que:
je ne veux pas utiliser le menu.
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bonsoir,
Pour les MDI il n' existe pas de procedures "Key_Press","Key_Up" ou "Key_Down" et n' ont pas la propriéte "KeyPreview" et donc tu ne peut pas tester sur les touches .
Par compte, si tu as un menu, tu peut l' activer en affectant une touche de raccourci aux
Items (même si celui-ci est invis.ible).
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

essai peut-être d'utiliser l'API keybd_event

_______________________________________________________________________________
'Exemple d'utilisation de keybd_event

'API
Declare Sub keybd_event Lib "user32" Alias "keybd_event" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

'Simuler la pression sur la touche A
keybd_event 65, 0, 0, 0
'Noubliez surtout pas de relacher la touche ! comme ceci :
keybd_event 65, 0, 2, 0

'Pour connaitre les KeyCode il y a deux facon :
'Soit aller dans l'aide de VisualBASIC à KeyCode
'Soit faire un petit programme avec ceci :
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
MsgBox KeyCode
End Sub

(Source de Nil => http://www.vbfrance.com/code.aspx?id=3833 )

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
^^ ah non, je dis une conn*** c'est pour simuler l'appuie d'une touche... (j'ai lu trop vite ton post)

Autant pour moi (désolé)
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bonsoir Mortalino,
t' as pas encore bu ton café ?
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
A placer dans les déclarations de ta Form :

Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

Const VK_F1 As Long = 112
_______________

Place un Timer sur ta form :

Private Sub Timer1_Timer()
'*** propriété Enabled True, Interval 50

If GetKeyState(VK_F1) < 0 Then MsgBox ("F1 enfoncé"): Call la_procédure_ou_fonction

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut Chaibat, depuis 45 minutes, je n'en suis qu'à trois.. lol

^^ t'as vu, je me rattrappe ! ;)
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
@Mortalino
je crois que c' est pas encore assez !
je vais tester et voir si tu t' es rattrappé ou il te faudra encore plus de café.
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
C' est Ok ! je confirme.
4 , ça suffit pour l' instant .
Laisse le 5 ième pour plutard, la nuit risque d' être longue.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Je confirme, je bosse (enfin presque) jusqu'à 6h00.

J'en profite pour mettre à jour ma source sur les scores.

Toi aussi tu traines tard le soir sur le site ! ;)
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
On se croisera sûrement s' il y a du nouveau et d' interressant.
A plutard .
Messages postés
139
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
8 décembre 2008

Merci mortalinavotre solution marche très bien.
Mais celà me pousse à poser une question :


J'utilise pas mal de timers dans ma MDI mère : Est ce que ça ne pose pas de problème???
Messages postés
139
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
8 décembre 2008

Merci Mortalino, la solution que tu m'as proposée marche à merveil, seulement une question commance à me géner :
J'utilise pas mal de timers dans ma feuille MDI mère (3 timers et charque timer avec ses fonctions)
Est ce que celç ne gènera pas (d'une manière ou d'une autre) la rapidité et la stabilité de mon application.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut Adamo,

Je pense que le fait d'avoir plusieurs timers peut effectivement faire ralentir ton application mais pas de manières significatives. Cela dépend de tes fonctions (nb arguments, longueur procédures, appel d'objets lourds).

Mais je ne suis pas un spécialiste en la matière donc mon avis est très limité !

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
Messages postés
139
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
8 décembre 2008

Merci quand même mortalino et bon chance!