PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV Mobile 2025 → Ouverture du clavier.
Ouverture du clavier.
Iniciado por Bertrand.Lanciaux, 06,jul. 2005 11:20 - 6 respuestas
Publicado el 06,julio 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
Publicado el 06,julio 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
Publicado el 06,julio 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
Publicado el 06,julio 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.
Publicado el 06,julio 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.
Publicado el 07,julio 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
Publicado el 07,julio 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