Bonjour, Le listener doit bien être enregistré auprès du champs texte mais la le type d'objet et la méthode ne sont pas les bon. Il faut utiliser un listener de type com.sun.star.awt.XKeyListener et la méthode addKeyListener() du champs text.
Voici un exemple : option explicit sub registerKeyListener() dim dialog as object dialog = createUnoDialog(DialogLibraries.Standard.Dialog1) dialog.getControl("tf").addKeyListener(createUnoListener("_klist_", "com.sun.star.awt.XKeyListener")) dialog.execute() end sub sub _klist_keyPressed(event as variant) 'nothing to do end sub sub _klist_keyReleased(event as variant) dim control as object control = event.source if ((event.keyCode = com.sun.star.awt.Key.TAB) and (event.keyFunc = com.sun.star.awt.KeyFunction.DONTKNOW) and (event.modifiers = 0)) then control.text = control.text + chr(9) end if end sub sub _klist_disposing(event as variant) 'nothing to do end sub Cordialement, T. Vataire ----- Mail Original ----- De: "Christophe Devalland" <christophe.devall...@ac-rouen.fr> À: prog@fr.openoffice.org Envoyé: Mardi 23 Mars 2010 13:16:21 Objet: [prog] invalider la tabulation dans un "textfield" Bonjour, je cherche à désactiver la perte du focus d'un champ texte contenu dans une boite de dialogue lors d'un appui sur la tabulation. je veux simplement que la tabulation s'affiche dans ce champ texte et qu'il ne perde pas le focus. je devine qu'il faut que je créer un listener de type XKeyHandler afin de ne pas laisser passer la touche TAB à l'interface mais mon control ne possède pas la méthode AddKeyHandler. la seule interface de type listener disponible pour mon champ texte est XTextComponent<http://api.openoffice.org/docs/common/ref/com/sun/star/awt/XTextComponent.html>( http://api.openoffice.org/docs/common/ref/com/sun/star/awt/UnoControlEdit.html ) ce code ne fonctionne donc pas : Sub RegisterKeyHandler oKeyHandler=createUnoListener("TexteFonction_","com.sun.star.awt.XKeyHandler") dim champTextFieldNewFunction as Object champTextFieldNewFunction=oDialogFunctions.GetControl("TextFieldNewFunction") champTextFieldNewFunction.AddKeyHandler(oKeyHandler) end sub Faut-il que je tape plus haut dans la hiérarchie pour placer le Handler sur un autre élément ? J'ai essayé sur le dialog lui même mais sans succès. Si vous avez des idées pour aboutir... merci d'avance -- Christophe Devalland --------------------------------------------------------------------- To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org