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: [email protected]
For additional commands, e-mail: [email protected]