Listbox stellt selectItemPos() nicht zur Verfügung

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Listbox stellt selectItemPos() nicht zur Verfügung

Re: Listbox stellt selectItemPos() nicht zur Verfügung

von komma4 » Do, 22.07.2010 12:47

ihja hat geschrieben:@komma4: Weiß leider nicht genau wie man XRay benutzt. Kannst du mir mla nen Bsp geben wie man dieses Element untersuchen könnte?

Code: Alles auswählen

Sub xrayTest

' laden der XRAY-Routinen
GlobalScope.BasicLibraries.Loadlibrary("XrayTool")

oDok = ThisComponent

xray oDok

End Sub
Einfach, oder?

Re: Listbox stellt selectItemPos() nicht zur Verfügung

von ihja » Do, 22.07.2010 12:28

@DPunch: Jo danke musws ich mal ausprobieren wenn ich wieder kann. Ich melde mich dann nochmal!

@komma4: Weiß leider nicht genau wie man XRay benutzt. Kannst du mir mla nen Bsp geben wie man dieses Element untersuchen könnte?

Re: Listbox stellt selectItemPos() nicht zur Verfügung

von DPunch » Mi, 21.07.2010 17:10

Aloha
OOo Wiki hat geschrieben:The list box control that supports the interface com.sun.star.awt.XListBox offers more convenient functions than the list box model. For example, it offers the method
selectItemPos( [in] short nPos,[in] boolean bSelect ) to select or deselect a single item in the list box.
Ich hab den wichtigen Teil aus Deinem Link mal fett markiert.

Mit

Code: Alles auswählen

oList= oForm2.getByName("Liste")
kriegst Du aber das Model (com.sun.star.comp.forms.OListBoxModel), nicht das Control der Listbox.
Um auf die Methoden des Interfaces (wie auch selectItemPos) zuzugreifen, benötigst Du das Control der ListBox (com.sun.star.comp.forms.OListBoxControl), welches das Interface XListBox unterstützt.

Code: Alles auswählen

oDoc = StarDesktop.CurrentComponent
oForm = oDoc.DrawPage.Forms.GetByIndex(0)

oList= oForm2.getByName("Liste") '<-------------- Hier kriegst Du das Model
oListControl = oDoc.CurrentController.getControl(oList) '<----------------------- So bekommst Du Zugriff auf das Control der Listbox
REM oList.SelectedItemPos   '<-- Model unterstützt das Interface XListBox nicht, daher nicht möglich
MsgBox oListControl.SelectedItemPos '<--- Control unterstützt das Interface, somit stehen auch dessen Methoden zur Verfügung

Re: Listbox stellt selectItemPos() nicht zur Verfügung

von komma4 » Mi, 21.07.2010 16:13

Hast Du mit XRAY überprüft, dass das Objekt wirklich vorhanden ist?

Welche Fehlermeldung bekommst Du?

Listbox stellt selectItemPos() nicht zur Verfügung

von ihja » Mi, 21.07.2010 14:53

Die Frage nach selectItemPos() lässt schon vermuten was ich vorhabe. Ich will mit einem Makro einen beliebigen Listeneintrag des Dropdownmenüs auswählen. Gefunden habe ich die Methode hier: http://wiki.services.openoffice.org/wik ... I/List_Box. Leider stellt mein Listboxobject diese leider nicht zur Verfügung.

Hier der Code:

Code: Alles auswählen

oDoc = StarDesktop.CurrentComponent
oForm = oDoc.DrawPage.Forms.GetByIndex(0)

oList= oForm2.getByName("Liste")
oList.SelectedItemPos 'mit verschiedensten Variationen der Methode also mit Argumenten oder so probiert findet er trotzdem nicht
Danke schonmal!



Moderation,4: Makro-Fragen bitte im zuständigen Unterforum; verschoben

Nach oben