Première méthode : récupération du groupe d’options.
Il s’agit d’un nom commun donné à chaque bouton radio (propriété Nom du groupe dans LibO. La propriété n’existe pas dans AOO mais la solution semble fonctionner).
Option.png
Elle est expliquée dans la bible dans le chapitre sur les contrôles de formulaire (le choix 1 parmi N) et dans le Basic Guide
Control Element Forms in Detail pour les contrôles de formulaire mais fonctionne également pour les contrôles de dialogue.
Nous allons utiliser la méthode : getGroupByName
https://www.openoffice.org/api/docs/com ... roupByName
Le premier argument est un nom commun à tous les boutons radio, il est à déclarer en Object ou en Variant et renvoi un tableau contenant les boutons radio des différentes options.
Le second, à déclarer en Object permet de boucler sur chaque bouton.
Code : Tout sélectionner
Sub Group
Dim oDlg as Object, Choix() as Variant, oOption as Object
DialogLibraries.LoadLibrary("Standard")
oDlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
If oDlg.execute = com.sun.star.ui.dialogs.ExecutableDialogResults.OK Then
oDlg.model.getGroupByName("Eval",Choix())
For Each oOption In Choix()
If oOption.State Then
MsgBox("Vous avez selectionné l'option " & oOption.Label & Chr(13) & "Le complément d'information a pour valeur " & oOption.tag,0,"Boutons radio")
End If
Next
End If
End Sub
La macro renvoie l’étiquette et la valeur du complément d’information du bouton sélectionné à la fermeture du dialogue.