Seite 1 von 1
Markierfeld / Checkbox Eigenschaften
Verfasst: Mi, 22.07.2009 16:05
von Maggus
Hallo,
ich finds einfach nicht...
Wie komme ich denn an die ganzen Eigenschaften eines Markierfeldes ran?
angenommen ich hab Zugriff auf eine Checkbox mit:
Code: Alles auswählen
oDoc = thisComponent
oSheet = oDoc.sheets(0)
oDraw = oSheet.drawpage
form = oDraw.forms.getbyIndex(0)
oContr = form.getbyname("Checkbox1")
wie kann ich jetzt beispielsweise die "Verknüpfte Zelle" herausfinden/modifizieren oder das Beschriftungsfeld, etc... ??
in VBA heißt das .LinkedCell
danke und Gruß,
Re: Markierfeld / Checkbox Eigenschaften
Verfasst: Mi, 22.07.2009 16:11
von keksi1970
Versuch einfach mal XRAY (Link hab grade nicht zur Hand, musst aber nur hier im FOrum suchen)
das erzaehlt dir so ziemlich alles
LG
Andreas
Re: Markierfeld / Checkbox Eigenschaften
Verfasst: Mi, 22.07.2009 16:25
von Maggus
Danke, probier ich direkt mal aus..
klingt interessant!
Gruß
Re: Markierfeld / Checkbox Eigenschaften
Verfasst: Mo, 27.07.2009 13:30
von Maggus
OK, ganz super Tool dieses Xray. Sollte bei keinem Anfänger fehlen!
Aber mein Problem ist leider noch nicht gelöst.
Also Xray gibt mir folgende Eigenschaften für meine Checkbox wieder:
Code: Alles auswählen
Align integer 0 may be void
BackgroundColor long <empty> may be void
BoundField object <null> read-only
ClassId integer 5 read-only
DataField string ""
DataFieldProperty string "State" read-only
DefaultControl string <...>
DefaultState integer 0
Enabled boolean True
FontCharWidth single 0
FontCharset integer 0
FontDescriptor struct
FontEmphasisMark integer 0
FontFamily integer 0
FontHeight single 0
FontKerning boolean False
FontName string ""
FontOrientation single 0
FontPitch integer 0
FontRelief integer 0
FontSlant integer 3
FontStrikeout integer 3
FontStyleName string ""
FontType integer 0
FontUnderline integer 4
FontWeight single 0
FontWidth integer 0
FontWordLineMode boolean False
Graphic object <null>
HelpText string ""
HelpURL string ""
ImagePosition integer 12
ImageURL string ""
Label string ""
LabelControl object <empty> may be void
MultiLine boolean False
Name string "CheckBox1" pseudo-prop
NativeWidgetLook boolean False
Printable boolean True
RefValue string ""
SecondaryRefValue string ""
State integer 0
TabIndex integer 0
Tabstop boolean <empty> may be void
Tag string ""
TextColor long <empty> may be void
TextLineColor long <empty> may be void
TriState boolean False
VerticalAlign integer 1 may be void
VisualEffect integer 2
PropertySetInfo object pseudo-prop, read-only
PropertyValues []struct pseudo-prop
PropertyToDefault string pseudo-prop, write-only
Parent object pseudo-prop
ValueBinding object pseudo-prop
Validator object <null> pseudo-prop
CurrentValue variant pseudo-prop, read-only
ServiceName string <...> pseudo-prop, read-only
ImplementationName string <...> pseudo-prop, read-only
SupportedServiceNames []string pseudo-prop, read-only
Types []type pseudo-prop, read-only
ImplementationId []byte pseudo-prop, read-only
Delegator object pseudo-prop, write-only
Dbg_Properties string <...> basic prop, read-only
Dbg_Methods string <...> basic prop, read-only
Dbg_SupportedInterfaces string <...> basic prop, read-only
Nun ist es so, dass meine Checkbox1 an die Zelle B17 verknüpft ist (-> RMT auf Checkbox -> Kontrollfeld -> Reiter Daten -> Verknüpfte Zelle )
Das heißt, dass in B17 je nach Status der Checkbox True oder False hineingeschrieben wird.
das kann ich bei den aufgelisteten Eingenschaften von Xray jedoch nicht finden.
Was mich zudem ein wenig stutzig gemacht hat, was es mit diesem internen Namen auf sich hat: com.sun.star.comp.forms.OCheckBoxModel
gibt es denn noch mehr ansprechbare Properties, die Xray nicht ausliest??
Gruß,
Re: Markierfeld / Checkbox Eigenschaften
Verfasst: Di, 28.07.2009 12:12
von Maggus
Juhuu.. habs selbst gefunden.
So greift man auf die gesuchte Checkbox-Eigenschaft zu:
Code: Alles auswählen
ActiveSheet = ThisComponent.CurrentController.ActiveSheet
oForm = ActiveSheet.drawpage.forms.getbyindex(0)
oControl = oForm.getByName("CheckBox1")
LinkedCellRow = oControl.getValueBinding.BoundCell.Row
LinkedCellCol = oControl.getValueBinding.BoundCell.Column
Und das findet man mit Xray nicht unter Properties sondern unter Methods
Gruß an alle...
Re: Markierfeld / Checkbox Eigenschaften
Verfasst: Di, 28.07.2009 12:27
von Stephan
Und das findet man mit Xray nicht unter Properties sondern unter Methods
ja, wenn man mit einer Methode zugreift findet man das unter Methoden
Ob Du hingegen über die Methode statt über die Eigenschaft zugreifst, ist doch schlicht Dir überlassen.
Ein Zugriff über die Eigenschaft (die auch bei der von Dir gelisteten XRAY-Ausgabe beinhaltet ist) ist genauso möglich:
Code: Alles auswählen
LinkedCellRow = oControl.ValueBinding.BoundCell.Row
LinkedCellCol = oControl.ValueBinding.BoundCell.Column
Gruß
Stephan
Re: Markierfeld / Checkbox Eigenschaften
Verfasst: Di, 28.07.2009 14:13
von Maggus
Ach ja... das ist ja interessant.
Mhh... *einwenigverwirrt* Schnalle jetzt nicht ganz worin jetzt der Unterschied besteht, ob ich so oder so drauf zugreife. Vor- und/oder Nachteile??
Mir scheint da Basiswissen zu fehlen. Vieles kann man außerdem nur schwer finden oder man muss wissen, wie die Begriffe heißen. In diesem Fall ValueBinding und BoundCell. So wirklich beschrieben finde ich nichts darüber...
Gruß,
Re: Markierfeld / Checkbox Eigenschaften
Verfasst: Mi, 29.07.2009 08:38
von Stephan
Vor- und/oder Nachteile?
sehe ich beim lediglich Abfragen des Wertes keine.
Vieles kann man außerdem nur schwer finden
für mich im Konkreten nicht nachvollziehbar - "ValueBinding" ist Bestandteil der XRAY-Ausgabe die Du selbst gepostet hast, ich habe mich auch überzeugt das ausgehend von dieser Stelle in XRAY alle 'Weiterleitungen' klappen, sowohl bei Doppelklick auf "ValueBinding" zu den Eigenschaften sowie von jeglichen, im hier besprochenen Zusammenhang relevanten, Begriffen zur IDL-REferenz, auch sind dort die Hinweise zu konkreten Inhalten de DEvelopersguide korrekt
oder man muss wissen, wie die Begriffe heißen.
Keine Ahnung was ich dazu sagen soll, Begriffe sind nun einmal Begriffe und ich weiß nicht wie man ohne sie auskommen könnte.
In diesem Fall ValueBinding und BoundCell. So wirklich beschrieben finde ich nichts darüber...
http://api.openoffice.org/docs/common/r ... nding.html
http://api.openoffice.org/docs/common/r ... #BoundCell
Gruß
Stephan
Re: Markierfeld / Checkbox Eigenschaften
Verfasst: Mi, 29.07.2009 08:57
von Maggus
Hi Stephan,
danke für die Antwort. Ich glaub dir ja, dass das für dich als Profi nicht so schwierig ist. Aber wenn man sich in das Thema neu einarbeiten will...
Die von dir geposteten links sind nett, aber so richtig anfangen kann ich mit den Beschreibungen dort nicht so viel. Ich brauch immer ein Beispiel dazu, damit ich nachvollziehen kann, wie etwas funktioniert. Wenn ich das mit VBA mache, von dem ich auch nicht so viel Ahnung habe, komme ich eben immer viel viel schneller zum Ergebnis. Da tippe ich irgend eine frage in die Suchmaschine und bekomme erklärt, welche Methoden oder so ich benutzen muss. Um das mit BoundCell rauszukriegen hab ich Stunden gebraucht. Trotzdem finde ich Basic interessanter, vor allem weil die Skripte viel schneller laufen. Und eben weils frei ist
Und ich hoffe ich werde schneller...
Gruß,