von Ibanez » Fr, 24.10.2008 09:34
Hi Forum,
ich bin der Meinung ich hätte das schonmal gelesen, jetzt beim Suchen aber nicht gefunden. Ich habe einen Dialog, der aus 32 Optionsbutton bestehen. Die ungeraden (OptionButton1,3,5,7,usw.) sind mit "Ja" beschriftet und die geraden (OptionButt2,4,6, usw.) mit "Nein". OptionsButton 1+2 gehören damit zusammen, 3+4 usw. In einer Excel Tabelle habe ich dementsprechend CheckBoxen Platziert.
Ich habe schon mal 2 OptionButton mit 2 CheckBoxen verknüpft, bin aber bei der diesmaligen Fülle der OptionButton der Meinung das es einfacher geht, nur bin ich noch nicht daruf gestoßen wie. Sonst habe ich immer diesen Code benutzt, den turtle47 mir mal übergeben hat.
Code: Alles auswählen
Dim myDialog as Object
Dim Opt_Btn_1_State as String
Dim Opt_Btn_2_State as String
Dim oDoc as Object
Dim oTextFieldMasters as Object
Dim Opt_Btn_1 as Object
Dim Opt_Btn_2 as Object
Sub Dlg1
DialogLibraries.loadLibrary("Standard")
oForm = DialogLibraries.Standard.DLG
myDialog = CreateUnoDialog(oForm)
Opt_Btn_1 = myDialog.getControl("OptionButton1")
Opt_Btn_2 = myDialog.getControl("OptionButton2")
Read_Settings1
myDialog.Dispose()
end Sub
Sub Read_Settings1
oDoc = thisComponent
oController = oDoc.getCurrentController()
oform = odoc.drawpage.forms.getbyindex(0)
CtrlCheckBox1 = oForm.getByName("CheckBox1")
CheckBox1_State=CtrlCheckBox1.state
CtrlCheckBox2 = oForm.getByName("CheckBox2")
CheckBox2_State=CtrlCheckBox2.state
if CheckBox1_State = 1 and CheckBox2_State = 1 Then
msgbox "Es sind zwei Auswahlmöglichkeiten markiert"& CHR(13)& "Bitte entscheiden sie sich nur für EINE AUSWAHL" ,48, "Grober Fehler!"
Exit sub
end if
if CheckBox1_State = 1 Then
Opt_Btn_1.State = 1
end if
if CheckBox2_State = 1 Then
Opt_Btn_2.State = 1
end if
End Sub
Sub Formularfelder_ansprechen1
oDoc = thisComponent
oController = oDoc.getCurrentController()
oform = odoc.drawpage.forms.getbyindex(0)
CtrlCheckBox1 = oForm.getByName("CheckBox1")
CheckBox1_State=CtrlCheckBox1.state
oKView = oController.getControl(CtrlCheckBox1)
CtrlCheckBox2 = oForm.getByName("CheckBox2")
oKView = oController.getControl(CtrlCheckBox2)
Opt_Btn_1 = myDialog.getControl("OptionButton1")
Opt_Btn_1.State=Opt_Btn_1.state
Opt_Btn_2 = myDialog.getControl("OptionButton2")
Opt_Btn_2.State=Opt_Btn_2.state
if Opt_Btn_1.State = "True" then
CtrlCheckBox1.State= 1
CtrlCheckBox2.State= 0
end if
if Opt_Btn_2.State = "True" then
CtrlCheckBox1.State= 0
CtrlCheckBox2.State= 1
end if
if Opt_Btn_1.State = "False" and Opt_Btn_2_State = "False" then
CtrlCheckBox1.State= 0
CtrlCheckBox2.State= 0
end if
myDialog.endexecute()
End Sub
Grüße
Ibanez
Hi Forum,
ich bin der Meinung ich hätte das schonmal gelesen, jetzt beim Suchen aber nicht gefunden. Ich habe einen Dialog, der aus 32 Optionsbutton bestehen. Die ungeraden (OptionButton1,3,5,7,usw.) sind mit "Ja" beschriftet und die geraden (OptionButt2,4,6, usw.) mit "Nein". OptionsButton 1+2 gehören damit zusammen, 3+4 usw. In einer Excel Tabelle habe ich dementsprechend CheckBoxen Platziert.
Ich habe schon mal 2 OptionButton mit 2 CheckBoxen verknüpft, bin aber bei der diesmaligen Fülle der OptionButton der Meinung das es einfacher geht, nur bin ich noch nicht daruf gestoßen wie. Sonst habe ich immer diesen Code benutzt, den turtle47 mir mal übergeben hat.
[code]Dim myDialog as Object
Dim Opt_Btn_1_State as String
Dim Opt_Btn_2_State as String
Dim oDoc as Object
Dim oTextFieldMasters as Object
Dim Opt_Btn_1 as Object
Dim Opt_Btn_2 as Object
Sub Dlg1
DialogLibraries.loadLibrary("Standard")
oForm = DialogLibraries.Standard.DLG
myDialog = CreateUnoDialog(oForm)
Opt_Btn_1 = myDialog.getControl("OptionButton1")
Opt_Btn_2 = myDialog.getControl("OptionButton2")
Read_Settings1
myDialog.Dispose()
end Sub
Sub Read_Settings1
oDoc = thisComponent
oController = oDoc.getCurrentController()
oform = odoc.drawpage.forms.getbyindex(0)
CtrlCheckBox1 = oForm.getByName("CheckBox1")
CheckBox1_State=CtrlCheckBox1.state
CtrlCheckBox2 = oForm.getByName("CheckBox2")
CheckBox2_State=CtrlCheckBox2.state
if CheckBox1_State = 1 and CheckBox2_State = 1 Then
msgbox "Es sind zwei Auswahlmöglichkeiten markiert"& CHR(13)& "Bitte entscheiden sie sich nur für EINE AUSWAHL" ,48, "Grober Fehler!"
Exit sub
end if
if CheckBox1_State = 1 Then
Opt_Btn_1.State = 1
end if
if CheckBox2_State = 1 Then
Opt_Btn_2.State = 1
end if
End Sub
Sub Formularfelder_ansprechen1
oDoc = thisComponent
oController = oDoc.getCurrentController()
oform = odoc.drawpage.forms.getbyindex(0)
CtrlCheckBox1 = oForm.getByName("CheckBox1")
CheckBox1_State=CtrlCheckBox1.state
oKView = oController.getControl(CtrlCheckBox1)
CtrlCheckBox2 = oForm.getByName("CheckBox2")
oKView = oController.getControl(CtrlCheckBox2)
Opt_Btn_1 = myDialog.getControl("OptionButton1")
Opt_Btn_1.State=Opt_Btn_1.state
Opt_Btn_2 = myDialog.getControl("OptionButton2")
Opt_Btn_2.State=Opt_Btn_2.state
if Opt_Btn_1.State = "True" then
CtrlCheckBox1.State= 1
CtrlCheckBox2.State= 0
end if
if Opt_Btn_2.State = "True" then
CtrlCheckBox1.State= 0
CtrlCheckBox2.State= 1
end if
if Opt_Btn_1.State = "False" and Opt_Btn_2_State = "False" then
CtrlCheckBox1.State= 0
CtrlCheckBox2.State= 0
end if
myDialog.endexecute()
End Sub[/code]
Grüße
Ibanez