Touche de fonction Dans feuil Mère MDI

Résolu
adamo901 Messages postés 139 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 8 décembre 2008 - 10 août 2006 à 21:48
adamo901 Messages postés 139 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 8 décembre 2008 - 15 août 2006 à 11:42
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

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
10 août 2006 à 22:59
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 !! :))
3
adamo901 Messages postés 139 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 8 décembre 2008
10 août 2006 à 21:50
J'ai oublié de dire que:
je ne veux pas utiliser le menu.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
10 août 2006 à 22:09
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).
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
10 août 2006 à 22:24
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"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
10 août 2006 à 22:26
^^ 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é)
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
10 août 2006 à 22:42
Bonsoir Mortalino,
t' as pas encore bu ton café ?
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
10 août 2006 à 22:43
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"
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
10 août 2006 à 22:45
Salut Chaibat, depuis 45 minutes, je n'en suis qu'à trois.. lol

^^ t'as vu, je me rattrappe ! ;)
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
10 août 2006 à 22:55
@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é.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
10 août 2006 à 23:04
C' est Ok ! je confirme.
4 , ça suffit pour l' instant .
Laisse le 5 ième pour plutard, la nuit risque d' être longue.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
10 août 2006 à 23:06
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 ! ;)
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
10 août 2006 à 23:21
On se croisera sûrement s' il y a du nouveau et d' interressant.
A plutard .
0
adamo901 Messages postés 139 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 8 décembre 2008
11 août 2006 à 11:48
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???
0
adamo901 Messages postés 139 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 8 décembre 2008
11 août 2006 à 12:06
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.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
11 août 2006 à 22:42
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"
0
adamo901 Messages postés 139 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 8 décembre 2008
15 août 2006 à 11:42
Merci quand même mortalino et bon chance!
0
Rejoignez-nous