🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

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

Dialog Elemente auflisten

Alles zur Programmierung im LibreOffice.
Antworten
frog333
Beiträge: 5
Registriert: Di 9. Aug 2011, 17:24

Dialog Elemente auflisten

Beitrag von frog333 » Do 28. Nov 2013, 16:48

Hallo Forum,
Ich habe eine Calc Dialog Frage:
ist es möglich die "Elemente" (Textfelder, Labels, ect) eines Dialoges abzufragen?

Für ein Formular kann ich auf diese weise:

Code: Alles auswählen

  oForm = thisComponent.CurrentController.ActiveSheet.Drawpage.Forms.getbyname("frmTest") 
For I = 0 To oForm.Count - 1
  Form = oForm.GetbyIndex(I)
  If Form.HasByName("MyListBox") Then
    Ctl = Form.GetbyName("MyListBox")
    Exit Function
  End If
Next
besten dank für eure hilfe.
Markus

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Dialog Elemente auflisten

Beitrag von gogo » Do 28. Nov 2013, 17:10

Code: Alles auswählen

gO_Dialog= CreateUnoDialog(Dialoglibraries.Standard.MeinDialog)
DialogWert=gO_Dialog.execute()
for i= lbound(gO_Dialog.getcontrols) to ubound(gO_Dialog.getcontrols)
   print gO_Dialog.getcontrols()(i).implementationname
next i
Statt .implementationname kannst Du natürlich alles andere auch verwenden. Ohne Methode erhältst Du das Objekt selbst

Code: Alles auswählen

gO_Dialog.getcontrols()(i)
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

pmoegenb

Re: Dialog Elemente auflisten

Beitrag von pmoegenb » Do 28. Nov 2013, 17:40


frog333
Beiträge: 5
Registriert: Di 9. Aug 2011, 17:24

Re: Dialog Elemente auflisten

Beitrag von frog333 » Do 28. Nov 2013, 17:55

Hallo gogo,

vielen dank!
klappt teilweise, denn mit

Code: Alles auswählen

gO_Dialog.getcontrols()(i).implementationname 
bekomme ich
stardiv.Toolkit.UnoFixedTextControl ect. also den "Typen"
und noch nicht den namen...

Code: Alles auswählen

gO_Dialog.getcontrols()(i).text
geht das bei Beschriftungsfeldern

muss noch ein wenig ausprobieren.

kannst du mir evt. noch veraten, wo ich eine übersicht der Eigenschaften und methoden finde ( Objektlibray )?

gruss markus

frog333
Beiträge: 5
Registriert: Di 9. Aug 2011, 17:24

Re: Dialog Elemente auflisten

Beitrag von frog333 » Do 28. Nov 2013, 18:59

komme leider nicht weiter...

mein Textfeld heisst zu bsp.: "txtForm"
aber den bekomme ich nicht zu gesicht, genaus bei Schaltflächen ect.

wie schon geschrieben:

Code: Alles auswählen

gO_Dialog.getcontrols()(i).text
geht mit Beschriftungsfeldern und gibt den text aus.

Code: Alles auswählen

gO_Dialog.getcontrols()(i).name
fehler: Methode oder eigenschft nicht gefunden. wie kamme ich an den Namen.

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Dialog Elemente auflisten

Beitrag von gogo » Do 28. Nov 2013, 20:39

Installiere XRAY

dann z.B.:

Code: Alles auswählen

...
xray gO_Dialog.getcontrols()(i)
...
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

frog333
Beiträge: 5
Registriert: Di 9. Aug 2011, 17:24

Re: Dialog Elemente auflisten

Beitrag von frog333 » Do 28. Nov 2013, 22:05

Hallo gogo,

besten dank für die Hilfe, ES GEHT und ich finde was ich brauche!!!!!!!!!

XRAY hat es gebracht. (hatte mal irgend wo gelesen, es würde mit LibreOffice 4.1 nicht laufen, darum hatte ich es mir auch nicht angeschaut.)

supper.

für andere:

Code: Alles auswählen

gO_Dialog.getcontrols()(i).Model.name
schönen abend noch,
gruss Markus


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