mir ist etwas schleierhaft, warum folgender Code unterschiedlich funktioniert, je nachdem, in welchem Kontext ich ihn aufrufe.
Zum Hintergrund: Ich möchte einem vorhandenem Dialog (per Dialogdesigner erstellt mit einigen Elementen auf Step 1) gerne nun auf Step 2 eine ganze Reihe weiterer Kontrollelemente hinzufügen.
Testweise hatte ich diese neuen Kontrollelemente erstmal in einem neuen Dialog erzeugt, was wunderbar schnell funktioniert. Nun aber habe ich das umgebaut, dass diese wie gesagt auf dem vorhandenen Dialog hinzukommen. Der Code sieht also so aus:
Dlg.Model ist der bestehende Dialog
Code: Alles auswählen
Sub inizialize_dlg_step2()
oMod = Dlg.Model.createInstance("com.sun.star.awt.UnoControlButtonModel")
oMod.PositionX = 5
oMod.PositionY = 5
oMod.Width = 10
oMod.Height = 10
oMod.Label = "1"
oMod.Toggle = true
oMod.FocusOnClick = false
oMod.Step = 2
Dlg.Model.insertByName("Button_1", oMod)
For i = 2 to 240
oMod = oMod.CreateClone
oMod.PositionY = oMod.PositionY+12
oMod.Label = i
Dlg.Model.insertByName("Button_"+i, oMod)
If i=21 Or i=41 Or i=61 Or i=81 Then
oMod.PositionY = 5
oMod.PositionX = oMod.PositionX+12
Elseif i = 100 Then
oMod.Width = 14
oMod.PositionX = oMod.PositionX-2
oMod.FontHeight = 9
Elseif i=101 Or i=121 Or i=141 Or i=161 Or i=181 Or i=201 Or i=221 Then
oMod.PositionY = 5
oMod.PositionX = oMod.PositionX+17
If i=101 Then oMod.PositionX = oMod.PositionX-3
End If
Next i
End Sub
Gruß,