|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
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
|
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|