Bonjour,

> j'avais essayé cela mais cela ne fonctionne pas sur OOo3.2. Mettre cette
> propriété à "Non" empêche d'entrer dans le control lorsque le focus est
> ailleurs mais si le focus est sur le controle, TAB passe quand même au
> control suivant.

Exact. Mon erreur a été de définir la propriété tabulation à false pour tous 
les controles de ma boite de dialogue.

Ceci semble mieux fonctionner :

sub _klist_keyPressed(event as variant)

        dim textField as object
        dim selection as variant
        dim selMin as long
        dim tfText as string
        dim newCaretPos as long
                
        textField = 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
                selection = textField.selection
                selMin = selection.min
                tfText = textField.text
                'insère la tabulation à la position initiale dur curseur
                textField.text = left(tfText, selMin) & chr(9) & right(tfText, 
(len(tfText) - selection.max))
                newCaretPos = selMin + 1
                'redonne le focus au champs de texte
                textField.setFocus()
                'place le curseur à la bonne position
                selection.min = newCaretPos
                selection.max = newCaretPos
                textField.selection = selection
        end if
        
end sub

Cordialement,

T. Vataire

---------------------------------------------------------------------
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org

Répondre à