Markierfeld / Checkbox Eigenschaften

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Maggus
****
Beiträge: 108
Registriert: Mo, 01.08.2005 13:32
Kontaktdaten:

Markierfeld / Checkbox Eigenschaften

Beitrag 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ß,
Maggus (:o)
keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Re: Markierfeld / Checkbox Eigenschaften

Beitrag 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
Maggus
****
Beiträge: 108
Registriert: Mo, 01.08.2005 13:32
Kontaktdaten:

Re: Markierfeld / Checkbox Eigenschaften

Beitrag von Maggus »

Danke, probier ich direkt mal aus..
klingt interessant!

Gruß
Maggus (:o)
Maggus
****
Beiträge: 108
Registriert: Mo, 01.08.2005 13:32
Kontaktdaten:

Re: Markierfeld / Checkbox Eigenschaften

Beitrag 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ß,
Maggus (:o)
Maggus
****
Beiträge: 108
Registriert: Mo, 01.08.2005 13:32
Kontaktdaten:

Re: Markierfeld / Checkbox Eigenschaften

Beitrag 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...
Maggus (:o)
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Markierfeld / Checkbox Eigenschaften

Beitrag 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
Maggus
****
Beiträge: 108
Registriert: Mo, 01.08.2005 13:32
Kontaktdaten:

Re: Markierfeld / Checkbox Eigenschaften

Beitrag 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ß,
Maggus (:o)
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Markierfeld / Checkbox Eigenschaften

Beitrag 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
Maggus
****
Beiträge: 108
Registriert: Mo, 01.08.2005 13:32
Kontaktdaten:

Re: Markierfeld / Checkbox Eigenschaften

Beitrag 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ß,
Maggus (:o)
Antworten