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 13272 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 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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 130
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 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
14 déc. 2005 à 13:57
woups, vi^^

autant pour moi...
0
Rejoignez-nous