❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️

❤️ HELFEN SIE JETZT >> << HELFEN SIE JETZT ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗


[Gelöst] Größe eines Makrodialogs bestimmen

Alles zur Programmierung im LibreOffice.
Antworten
Jörg
! Supporter - Spende !
Beiträge: 22
Registriert: So 11. Jul 2021, 13:33

[Gelöst] Größe eines Makrodialogs bestimmen

Beitrag von Jörg » Mi 22. Okt 2025, 22:01

Hallo,

ich suche nach einer Möglichkeit, die Höhe und Breite eines Dialogs zu bestimmen. Alternativ ginge auch eine Art "pack"-Befehl, der die Größe entsprechend der vorhandenen Objekte festlegt.

EDIT
Lösung gerade gefunden:
Den Mauszeiger auf einen der vier Ränder des Dialogfensters führen, bis der Mauspfeil sich in das Verschiebe-Kreuz wandelt. Ein Klick zeigt dann die Acht-Quadrat-Umrandung an und wandelt den Mauszeiger in den Pfeil zurück. Jetzt kann man den Pfeil auf eines der kleinen Quadrate führen,
bis er sich erneut wandelt; diesmal in einen Pfeil mit zwei Spitzen. Bei gedrückter Maustaste lässt sich
nun die Dialoggröße verändern. Wie von LOs GUI-Designer gewohnt, wird eine Änderung erst nach
Loslassen der Maustaste sichtbar.

wega
Beiträge: 129
Registriert: Mi 16. Jul 2014, 19:15

Re: [Gelöst] Größe eines Makrodialogs bestimmen

Beitrag von wega » Do 23. Okt 2025, 18:20

Hallo Jörg,

deine Fragestellung hatte mich auch interessiert, daher habe ich
mich im Internet auf die Suche begeben.
Hier ist eine Lösung, der Code stammt nicht von mir. Er ist aus dem
Internet.

Code: Alles auswählen

Sub DialogGroesseAuslesen

    ' Deklarieren von Variablen
    Dim oDialog As Object
    Dim oRectangle As Object
    Dim dlgBreite As Long
    Dim dlgHoehe As Long

    ' Dialogbibliothek laden (in diesem Beispiel wird die Standard-Bibliothek verwendet)
    ' Ersetzen Sie "Standard" und "Dialog1" durch den Namen Ihrer Bibliothek und Ihres Dialogs
    DialogLibraries.LoadLibrary("Standard")
    
    ' Den Dialog instanziieren (als Objekt ansprechen)
    oDialog = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
    
    ' Den Dialog ausführen, damit seine Position und Größe initialisiert werden
    ' Dies ist wichtig, da die Größe sonst 0 sein kann
    oDialog.Execute()

    ' Die Eigenschaft PosSize abfragen, die ein Rectangle-Objekt zurückgibt
    oRectangle = oDialog.getPosSize()

    ' Die Breite und Höhe aus dem Rectangle-Objekt auslesen
    dlgBreite = oRectangle.Width
    dlgHoehe = oRectangle.Height

    ' Die Größeninformationen in einer Meldung anzeigen
    MsgBox "Die Breite des Dialogs beträgt: " & dlgBreite & " und die Höhe: " & dlgHoehe, 0, "Dialoggröße"

    ' Dialog wieder schließen und Ressourcen freigeben
    oDialog.dispose()
    
End Sub

Mit Gruß
Werner


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten