PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Ouverture du clavier.
Ouverture du clavier.
Débuté par Bertrand.Lanciaux, 06 juil. 2005 11:20 - 6 réponses
Posté le 06 juillet 2005 - 11:20
Bonjour,

Est-il possible de détecter l'ouverture du clavier par l'utilisateur, au
moment ou il clique dessus.
Le curseur est dans un champ et le clavier n'est pas actif, au moment ou
l'utilisateur ouvre le clavier, je veux déplacer mon champ pour qu'il ne
soit pas masqué par le clavier. Comment détecter l'ouverture ??

Merci d'avance

Bertrand
Posté le 06 juillet 2005 - 12:05
Une solution peut être d' ouvrir ton clavier pas programmation
Une autre, ton clavier s'ouvre lors d'une prise de focus sur ton champ, donc dans le code d'entrée de ton champ tu modifies sa position.

Si j'ai bien compris ton post ca devrait marcher

Cordialement,
Thomas
Posté le 06 juillet 2005 - 12:36
En fait le curseur est déjà dans le champ et le clavier n'est pas ouvert
volontairement, car en fait on attend une lecture code barre, donc pas
besoin de saisie. Le champ est un champ d'une table donc je n'ai pas de code
'Prise de focus', j'ai bien la solution de placer mon test dans 'A chaque
modif du champ', mais tant que l'utilisateur n'a pas saisi un caractère la
zone est masquée par le clavier.


"Thomas" <guest@newsgroup.fr> a écrit dans le message de news:
42cb8630$1@news.pcsoft.fr...

Une solution peut être d' ouvrir ton clavier pas programmation
Une autre, ton clavier s'ouvre lors d'une prise de focus sur ton champ,
donc dans le code d'entrée de ton champ tu modifies sa position.

Si j'ai bien compris ton post ca devrait marcher

Cordialement,
Thomas
Posté le 06 juillet 2005 - 14:30
Hello.

Lorsque l'utilisateur modifie l'état du SIP (Software input panel), l'OS envoie à toutes les applications actives le message WM_SETTINGCHANGE, avec le paramètre wParam égal à SPI_SETSIPINFO.

L'utilisation de la fonction W-language "Evénement" devrait permettra d'arriver à une solution.

Une description du comportement de WM_SETTINGCHANGE se trouve à l'adresse suivante:

http://msdn.microsoft.com/library/default.asp…

Bonne chance.
Nicolas.
Posté le 06 juillet 2005 - 15:53
Merci je cherche dans cette direction.


"Nicolas Nasdrovisky" <nasdron@usa.net> a écrit dans le message de news:
42cba821$1@news.pcsoft.fr...

Hello.

Lorsque l'utilisateur modifie l'état du SIP (Software input panel), l'OS
envoie à toutes les applications actives le message WM_SETTINGCHANGE, avec
le paramètre wParam égal à SPI_SETSIPINFO.

L'utilisation de la fonction W-language "Evénement" devrait permettra
d'arriver à une solution.

Une description du comportement de WM_SETTINGCHANGE se trouve à l'adresse
suivante:

http://msdn.microsoft.com/library/default.asp…

Bonne chance.
Nicolas.
Posté le 07 juillet 2005 - 00:47
Un petit exemple qui fonctionne sur un iPaq (PPC 2003):

1) Définition des constantes et des variables globales:

MyEvenement est un entier
CONSTANT
WM_SETTINGCHANGE = 26
SPI_SETSIPMODE = 224
FIN

2) Démarrage de la gestion de l'événement:

MyEvenement = Evénement("OnSyschange", "*.*", WM_SETTINGCHANGE)

3) Fonction appelée lors du changement d'état du clavier

PROCEDURE OnSyschange(Message, wParam, lParam)
SI wParam = SPI_SETSIPMODE ALORS
SI ClavierVisible() = 1 ALORS
// ajouter traitement "clavier présent"
SINON
// ajouter traitement "clavier non présent"
FIN
FIN
Posté le 07 juillet 2005 - 11:23
Ok merci ça fonctionne et ça me permet de faire ce que je veux.


"Nicolas Nasdrovisky" <nasdron@usa.net> a écrit dans le message de news:
42cc389d$1@news.pcsoft.fr...

Un petit exemple qui fonctionne sur un iPaq (PPC 2003):

1) Définition des constantes et des variables globales:

MyEvenement est un entier
CONSTANT
WM_SETTINGCHANGE = 26
SPI_SETSIPMODE = 224
FIN

2) Démarrage de la gestion de l'événement:

MyEvenement = Evénement("OnSyschange", "*.*", WM_SETTINGCHANGE)

3) Fonction appelée lors du changement d'état du clavier

PROCEDURE OnSyschange(Message, wParam, lParam)
SI wParam = SPI_SETSIPMODE ALORS
SI ClavierVisible() = 1 ALORS
// ajouter traitement "clavier présent"
SINON
// ajouter traitement "clavier non présent"
FIN
FIN