Hallo Winfried,
erstmal Danke für deine Antwort.
Hilft Dir das weiter?
Leider nein.
Den verlinktehn Thread hatte ich letztes Jahr auch schon mal gefunden, und ihn mir praktisch angeschaut um selber zu erleben wie Umfangreich und Komplex es sein kann einen sehr umfangreichen Dialog "on the fly" zu erstellen. Gott sei Dank musste ich mich da nicht mehr weiter mit befassen.
Um es noch mal deutlich hervorzuheben, mir geht es nicht um ein "On the fly Dialog", sondern einen leeren Blanko Dialog in der IDE. Also rechtsklick auf ein
->Basic-Modul Reiter
->Einfügen
->Basic-Dialog.
Und das hatte ich auch mal gemacht, und dann die Datei gespeichert, entzippt, und mir dann die Dialog1.xml angeschaut. Die dann so aussieht.
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="Dialog1" dlg:left="243" dlg:top="84" dlg:width="220" dlg:height="167" dlg:closeable="true" dlg:moveable="true"/>
Die Angaben in deinem Codeschnipsel finde ich in ähnlicher Form dort auch wieder.
dlg:left="243" => .PositionX
dlg:top="84" => .PositionY
dlg:width="220" => .Width
dlg:height="167" => .Height
Das was neben => steht müssten dann wohl theoretisch die Properties sein.
Mit
Code: Alles auswählen
xray ThisComponent.DialogLibraries.getByName("Standard").ElementNames
bekam ich für dlg:id="Dialog1" den Namen der auf dem Reiter zu lesen ist. Jedoch finde ich momentan mit xray einfach nicht die Größe und Position des Dialog. Möchte aber dafür wetten das ich da den falschen Weg gehe, wenn ich ThisComponent.DialogLibraries untersuche.
Ich hatte deinen Codeschnipsel auch praktisch angewendet, aber es wurde kein Dialog eingefügt, was ja verständlich ist. Also hatte ich versucht mit xray das mal zu untersuchen, um eventuell irgendwo einen Anhaltspunkt zu finden um aus "on the fly" einen echten zu machen. Aber leider würde ich nicht fündig.
Und ich hatte es auch nicht geschafft die Angaben des Schnipsel als Struct in
reinzubekommen.
Ich seh vor lauter Bäume den Wald nicht mehr!
Ist denn der Weg über
Code: Alles auswählen
ThisComponent.DialogLibraries.getByName("Standard").insertByName(?????)
der total Falsche, oder muss ich doch irgendwie über createUnoService das in Angriff nehmen? Das Dumme ist nur, ich versteh weder das eine, noch das andere so richtig.
Falls jetzt jemand sich denkt das sich meine Worte mehr als verwirrend anhören, so hat er recht. Denn ich bin mehr als nur verwirrt.
Wer kann mir noch irgendwie helfen?
Gruß
balu