Seite 1 von 1
[gelöst]Änderungen Eigenschaften von Dialogkontrollfeldern
Verfasst: Fr, 18.03.2011 18:28
von F3K Total
Hallo zusammen,
ich habe folgendes Problem:
Wenn ich unter W7 einen Dialog erzeuge und die Hintergrundfarbe z.B. eines Labelfeldes der Hintergrundfarbe des Dialogs anpasse, dann sieht das ganze unter Windows XP nicht mehr schön aus:
Windows 7:
dialog1.png
Windows XP:
dialog2.png
Ich schaffe es zwar, die Hintergrundfarbe des Labelfeldes per Makro, beim Aufruf des jeweiligen Dialoges auf "transparent" einzustellen:
... damit ist das optische Problem weg.
Ist aber nicht dauerhaft, und wird beim nächsten Dialog vergessen.
Auch unter "Eigenschaften" des Labelfeldes bekomme ich es nicht hin, die Hintergrundfarbe auf "transparent" (-1) einzustellen.
Ich weiß, dass es für Dialoge die Methode "setDesignMode(true)" gibt. Aber trotzdem schaffe ich es nicht, die Änderung zu speichern.
Also die Frage: Wie kann man Änderungen an den Eigenschaften der Kontrollfelder eines Dialoges per Makro speichern?
Gruß Rik
Re: Änderungen Eigenschaften von Dialogkontrollfeldern speic
Verfasst: Di, 29.03.2011 16:01
von DPunch
Aloha
F3K Total hat geschrieben:Wenn ich unter W7 einen Dialog erzeuge und die Hintergrundfarbe z.B. eines Labelfeldes der Hintergrundfarbe des Dialogs anpasse
Warum lässt Du die Hintergrundfarbe des Labels nicht auf "Standard" stehen?
Ich weiss nicht, ob das bei Win 7 anders ist, aber unter XP ist dies quasi "Transparent".
Re: Änderungen Eigenschaften von Dialogkontrollfeldern speic
Verfasst: Di, 29.03.2011 19:23
von F3K Total
Hallo DPunch,
na, das ist es ja gerade. Ich habe den Dialog unter W7 erstellt, Hintergrundfarbe Standard, Hintergundfarbe Labelfeld ebenfalls Standard.
Wenn ich ihn dann unter XP aufrufe sieht man den Schatten, wie unten dargestellt, und das ist unschön.
Mein Workaround ist es deshalb, beim Aufruf des Dialoges die Hintergrundfarbedes Labelfeldes auf transparent einzustellen.
Dann sieht man sowohl unter XP als auch unter W7 keinen Schatten.
Die Frage ist, ob man die Hintergrundfarbe per Makro auf transparent, bzw. -1 stellen kann, denn per GUI geht es nicht, um dann den geänderten Dialog zu speichern.
Oder eben allgemein, wie speichert man Änderungen an den Eigenschaften von Dialogen/Dialogkontrollfeldern per Makro?
Ich komme nicht drauf.
Beste Grüße von R
Re: Änderungen Eigenschaften von Dialogkontrollfeldern speic
Verfasst: Mi, 30.03.2011 22:02
von DPunch
Aloha
Wenn ich mal die Zeit dazu finde, kann ich mich da mal umschauen, aus dem Stehgreif kann ich Dir dazu nichts sagen, weil ich bisher weder das Bedürfnis hatte, Änderungen an einem erstellten Dialog per Makro vorzunehmen, noch mit Win 7 arbeite.
Allerdings sollte eine Zeile Code zum Ändern der Hintergrundfarbe beim Erstellen des Dialogs wohl kein Beinbruch sein

Re: Änderungen Eigenschaften von Dialogkontrollfeldern speic
Verfasst: Mi, 30.03.2011 22:15
von F3K Total
Ja,
das wäre schön, wenn Du da etwas finden würdest, denn es sind schon ein paar mehr Zeilen:
Code: Alles auswählen
oControls=oDialog.Controls
for i=0 to uBound(oControls)
oControl=oDialog.getByIdentifier(i)
oControlServices=oControl.getSupportedServiceNames
if oControlServices(1)=("com.sun.star.awt.UnoControlFixedText") or oControlServices(1)=("com.sun.star.awt.UnoControlRadioButton") or oControlServices(1)=("com.sun.star.awt.UnoControlCheckBox")then
oControl.model.BackGroundColor = Transparent
endif
next i
Gruß R
Re: Änderungen Eigenschaften von Dialogkontrollfeldern speic
Verfasst: Sa, 02.04.2011 18:00
von F3K Total
Hallo DPunch,
Du hattest doch Recht:
Ich hatte die Hintergundfarbe der Labelfelder meiner Dialoge nicht auf "Standard" gestellt,
sondern der Standard-Hintergrundfarbe des Dialoges angepasst.
Grund: Die Labelfelder erscheinen im Design-Mode mit weißem Hintergrung auf grauem Grund. Habe nicht gewußt, dass sie bei Ausführung des Dialoges Transparent werden.
Also, Problem erledigt.
Danke Gruß R