[gelöst] OptionBtn mit Checkbox im Dokumen verknüpft
Verfasst: Mo, 25.08.2008 15:13
BEITRAGS ÄNDERUNG: 16.09.08
Hallo Forum,
ich habe es jetzt dank Jürgens hilfe geschafft eine Checkbox mit Hilfe eines Dialogs und den darin enthaltenen OptionsButton anzusprechen.
Damit alle was davon haben hier die Lösung für das Beispiel (siehe Abbildungen)

Hallo Forum,
ich habe es jetzt dank Jürgens hilfe geschafft eine Checkbox mit Hilfe eines Dialogs und den darin enthaltenen OptionsButton anzusprechen.
Damit alle was davon haben hier die Lösung für das Beispiel (siehe Abbildungen)
Code: Alles auswählen
rem Beginn
Dim myDialog as Object
Dim Opt_Btn_1_State as String
Dim Opt_Btn_2_State as String
Dim String_Name as String
Dim oDoc as Object
Dim Opt_Btn_1 as Object
Dim Opt_Btn_2 as Object
Dim TxtName as String
Sub Dlg_1
DialogLibraries.loadLibrary("Standard")
oForm = DialogLibraries.Standard.Dialog1
myDialog = CreateUnoDialog(oForm)
myDialog.title = "Options Button"
Opt_Btn_1 = myDialog.getControl("OptionButton1")
Opt_Btn_1.model.Label = "Auswahl1"
Opt_Btn_2 = myDialog.getControl("OptionButton2")
Opt_Btn_2.model.Label = "Auswahl2"
Read_Settings1
Ctl_Name1 = myDialog.GetControl("TextField_Name")
Ctl_Name1.Model.Text = String_Name
Ctl_Name1.setfocus()
myDialog.execute()
myDialog.Dispose()
End Sub
Sub Read_Settings1
oDoc = thisComponent
strUserfield_Name1 = "Name"
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_Name = "com.sun.star.text.FieldMaster.User." + StrUserfield_Name1
String_Name = oTextFieldMasters.getByName(TxtUserfield_Name).content
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
else
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
Sub Felbefehl_schreiben1
oDoc = thisComponent
strUserfield_Name1 = "Name"
Ctl_Name1 = myDialog.GetControl("TextField_Name")
String_Name = Ctl_Name1.Model.Text
strContent_Name = String_Name
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_Name="com.sun.star.text.FieldMaster.User." + StrUserfield_Name1
oTextFieldMasters.getByName(TxtUserfield_Name).content = StrContent_Name
oDoc.getTextFields().refresh()
myDialog.endexecute()
End Sub
rem Ende
