3 messages in org.openoffice.fr.progRE : [prog] boite de dialogue pages m...
FromSent OnAttachments
chaliapineDec 9, 2007 9:17 am 
Philippe AllartDec 10, 2007 5:52 am 
Laurent GodardDec 10, 2007 5:57 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:RE : [prog] boite de dialogue pages multiplesActions...
From:chaliapine (chal@free.fr)
Date:Dec 9, 2007 9:17:01 am
List:org.openoffice.fr.prog

Merci Bernard C'est effectivement un peu spécial comme logique. Mais pourquoi pas, on s'adapte.

Un exemple pour ceux qui auront ce genre de question (améliorable j'imagine) Soit un dialogue (dialog3) Dans ce dialogue, des objets répartis sur 3 niveaux (step) : Step 1 : 2 radio button (choix 1 et 2) Step 2 : 2 check box (options 1 et 2) Step 3 : un TextField, un OK (pour terminer)

En step 0 : Un label "titre" contenant successivement page 1, page 2, page 3 Un bouton "bouton" (!!!) lié sur déclenchement à la macro "pagesuivante" Le texte de ce bouton contiendra successivement : Aller page 2, aller page 3 Le dialogue lui-même est en step 1

On lance par MAIN. En cliquant sur "aller page 2" on arrive à la page 2. Idem pour la page 3. Les choix et options sont obligatoires. En fin de dialogue, le textfield bilan récapitule nos choix.

Le code qui va bien : private dlg as object

Sub dialogue3 monclasseur = ThisComponent lafeuille=monclasseur.Sheets.getByName ("exo5") DialogLibraries.LoadLibrary("Standard") bibli=DialogLibraries.GetByName("Standard") mondialogue=bibli.GetByName("Dialog3") dlg=CreateUnoDialog(mondialogue) dlg.execute dlg.dispose End Sub

sub pagesuivante etatDialog3=dlg.model.step select case etatDialog3 case 1 if (dlg.getControl("OptionButton1").state or _ dlg.getControl("OptionButton2").state) then dlg.model.step=2 dlg.getControl("titre").text="PAGE 2" dlg.getControl("bouton").label="Aller page 3" else msgbox("choix obligatoire") end if case 2 if (dlg.getControl("CheckBox1").state or _ dlg.getControl("CheckBox2").state) then dlg.model.step=3 dlg.getControl("titre").text="PAGE 3" dlg.getControl("bouton").visible=false if dlg.getControl("OptionButton1").state then texte1="choix 1" if dlg.getControl("OptionButton2").state then texte1="choix 2" if dlg.getControl("CheckBox1").state then texte2="option 1" if dlg.getControl("CheckBox2").state then texte2="option 2" Dlg.getControl("bilan").text=texte1 & "/" & texte2 else msgbox("option obligatoire") end if end select end sub