J'essaie d'informer l'utilisateur dans l'écran de connexion si CapsLock est activé. Dans creationComplete Keyboard.capslock renvoie toujours false. Y at-il une solution de contournement pour cela? Voici ce que j'essaie:Flex Keyboard.capslock renvoie toujours false dans creationComplete
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
callLater(setListener);
}
private function setListener():void
{
if (Keyboard.capsLock)
{
lblCapsLock.visible = true;
}
else
{
lblCapsLock.visible = false;
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, application1_keyDownHandler);
}
protected function application1_keyDownHandler(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.CAPS_LOCK)
{
if (Keyboard.capsLock)
{
lblCapsLock.visible = true;
}
else
{
lblCapsLock.visible = false;
}
}
}
Il y a un bug signalé dans Adobe Bug et problème du système de gestion: http://bugs.adobe.com/jira/browse/FP-2033
Je me demande pourquoi il est dans l'état peut pas Reproduire
vieux sujet
J'ai testé, ça semble être OK. Plutôt étrange ... BTW, juste un conseil pour optimeze votre code: lblCapsLock.visible = Keyboard.capsLock. –
Pour moi ça ne marche pas. Si je clique sur la scène avant la fin de la création, l'étiquette sera affichée si les majuscules sont activées. Certains comment j'ai besoin de mettre l'accent sur Application, puis Keyboard.capsLock est vrai. –
@ J.Lantinen, je pense que l'application a besoin de mise au point de l'OS pour pouvoir accéder au clavier. Est-ce vraiment un problème? Ne pourriez-vous pas ajouter un écouteur d'événement pour focusIn au lieu de creationComplete? Ou les deux? –