Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 24-01-2008 15:47:19

peter27x  
Membre
Date d'inscription: 15-01-2008
Messages: 7
Pépites: 29
Banque: 0

[RESOLU] Simuler un appui de touche clavier

Bonjour,

j'arrive à capter l'appui du point de clavier numérique grâce à la pbm_keydown(key,keyflags) dans laquelle je detecte que key est égal à keyDecimal! (vérifié avec l'envoi d'un messagebox), mais j'aimerai alors pouvoir envoyer au même objet (c'est un editmask), un evenement identique à celui qu'il recevrait si l'utilisateur appuyait sur la virgule (keycomma!), mais impossible...

J'ai tenté ceci ds le pbm_keydown():

if key = keyDecimal! then this.triggerEvent("pbm_keydown(keycomma!,0)")

mais ça ne donne rien... rien n'est envoyé...

en fait je voudrais que l'appui du point du clavier numerique soit traité comme l'appui de la virgule...

Merci.

Dernière modification par peter27x (25-01-2008 08:49:57)

Hors ligne

 

#2 24-01-2008 15:53:40

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Simuler un appui de touche clavier


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#3 24-01-2008 16:11:55

JCZ  
Builder Power
Award: bf
Lieu: 75019 paris
Date d'inscription: 21-05-2007
Messages: 1724
Pépites: 496,453,703,213
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Simuler un appui de touche clavier

Bonjour,

Code: pb

[external function declaration]
SUBROUTINE keybd_event( int bVk, int bScan, int dwFlags, int dwExtraInfo) & 
LIBRARY "user32.dll"

[powerscript]
constant integer VK_F4 = 115

dw_1.SetFocus()
dw_1.SetColumn( "dept_head_id" ) // the DDDW
keybd_event( VK_F4,0,0,0 ) // F4 key down
keybd_event( VK_F4,0,2,0 ) // F4 key up 

ou

Code: pb

Send(Handle(This),256,9,Long(0,0))

Face à l'agression, la puissance de l'intelligence

Hors ligne

 

#4 25-01-2008 08:04:38

peter27x  
Membre
Date d'inscription: 15-01-2008
Messages: 7
Pépites: 29
Banque: 0

Re: [RESOLU] Simuler un appui de touche clavier

JCZ a écrit:

Bonjour,

Code: pb

[external function declaration]
SUBROUTINE keybd_event( int bVk, int bScan, int dwFlags, int dwExtraInfo) & 
LIBRARY "user32.dll"

[powerscript]
constant integer VK_F4 = 115

dw_1.SetFocus()
dw_1.SetColumn( "dept_head_id" ) // the DDDW
keybd_event( VK_F4,0,0,0 ) // F4 key down
keybd_event( VK_F4,0,2,0 ) // F4 key up 

ou

Code: pb

Send(Handle(This),256,9,Long(0,0))

Merci bcp !

Mais connaitre les valeurs à mettre dans le send par rapport à l'appui clavier souhaité ? Y'a une table de correspondance ? Le "256,9" de ton exemple, à quoi se rapporte t'il ? Comment est il calculé ?

Merci.

Hors ligne

 

#5 25-01-2008 08:16:08

peter27x  
Membre
Date d'inscription: 15-01-2008
Messages: 7
Pépites: 29
Banque: 0

Re: [RESOLU] Simuler un appui de touche clavier

Merci à vous deux, ça marche avec un Post (pas avec un Send) de 188 (= la virgule)...

Mer-ci !

Hors ligne

 

#6 25-01-2008 08:37:03

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Simuler un appui de touche clavier

Bonjour Peter27x,

Merci d'ajouter [RESOLU] au titre de ce topic en modifiant le premier message.
C'est utile pour visualiser les sujets résolus


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#7 25-01-2008 08:47:34

JCZ  
Builder Power
Award: bf
Lieu: 75019 paris
Date d'inscription: 21-05-2007
Messages: 1724
Pépites: 496,453,703,213
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Simuler un appui de touche clavier

Code: pb

Send(Handle(This),256,9,Long(0,0))

c'est pour simuler une tabulation.
L'interet : Certains utilisateurs utilisent la touche entrée pour deplacer le curseur (comme la touche 'tab')

256 message windows pour l'appui d'une touche
9 = touche tab


Face à l'agression, la puissance de l'intelligence

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22