Utilisation keypress

manud31
Messages postés
81
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
16 mai 2006
- 13 déc. 2005 à 23:26
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
- 14 déc. 2005 à 13:57
Bonsoir,

Voilà, mon problème:

Je cache une feuille (userform.hide)
Ensuite j'utilise une boucle, et je voudrais qu'elle s'arrête quand l'utilisateur appui sur la touche enter, et faire apparaître la feuille.

Do while not (keypress......?)
.....
loop
userform.show

merci d'avance

4 réponses

PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
50
14 déc. 2005 à 06:48
salut,

un timer recevant le retour d'API de Keyb_Event (syntaxe de mémoire...)

c'est le seul moyen, puisque ta Form ne recevra pas le KeyPress (puisqu'invisible)



++

PCPT [AFCK]
0
cs_DARKSIDIOUS
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Membre
Dernière intervention
4 mars 2013
131
14 déc. 2005 à 07:26
Ce n'est pas Keybd_event, qui permet elle de déclencher des événements, mais plutôt GetAsyncKeyState

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0
Sniper_Vgaerr
Messages postés
113
Date d'inscription
jeudi 2 décembre 2004
Statut
Membre
Dernière intervention
14 août 2006

14 déc. 2005 à 11:33
Salut,

Exact DarKSidious, il faut que tu utilises GetAsyncKeyState :

Voici un exemple tirer de Progotop API (logiciel tirer du site de DarkSidious www.ProgOtoP.com/popapi)

'TESTE ET APPROUVE SOUS WINDOWS XP ET VB 6
'Nécessite un CommandButton nommé Command1 et un contrôle Label nommé Label1
'Ce code permet d'afficher la touche qui a été appuyé.
'Vous devez cliquer sur le bouton Command1 pour lancer la capture des touches.
Option Explicit
Private Declare Function GetAsyncKeyState Lib "user32" ( ByVal vKey As Long) As Integer
Private Sub Command1_Click()
Dim a(1 To 5) As Integer
Dim k As Byte
Do
a(1) = GetAsyncKeyState(27) 'code touche Echap
a(2) = GetAsyncKeyState(37) 'code fleche gauche
a(3) = GetAsyncKeyState(38) 'code fleche haut
a(4) = GetAsyncKeyState(39) 'code fleche droite
a(5) = GetAsyncKeyState(40) 'code fleche bas
If a(1) <> 0 Then End
If a(2) <> 0 Then Label1.Caption = "gauche"
If a(3) <> 0 Then Label1.Caption = "haut"
If a(4) <> 0 Then Label1.Caption = "droite"
If a(5) <> 0 Then Label1.Caption = "bas"
For k = 1 To 5
a(k) = 0
Next k
DoEvents
Loop
End Sub

Voila @+ tout le monde
0
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
50
14 déc. 2005 à 13:57
woups, vi^^

autant pour moi...
0