framecontrol label aendern

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

Moderator: Moderatoren

schosch
*
Beiträge: 12
Registriert: Sa, 21.08.2004 20:22

framecontrol label aendern

Beitrag von schosch »

Hallo,

ich versuche verzweifelt den Titel eines Gruppierungsrahmens dynamisch zu aendern:

t(1).Label = "Test"

klappt nicht... Und darueber hinaus gibt es zu dem Thema extrem wenig Hilfe.

Hat evtl jemand eine geeignete Idee???

Schoene Gruesse

Georg
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Du kannst Dir allgemein für ein Objekt dessen Eigenschaften mit z.B.

Code: Alles auswählen

MsgBox Objekt.dbg_properties
anzeigen lassen, ich vermute das die Label-Eigenschaft garnicht existiert. Wie wäre es mit:

Code: Alles auswählen

t(1).title = "Test"
ist aber nur eine Vermutung und nicht getestet. Wenn es nicht geht poste doch mal Deinen Code.

Gruß
Stephan
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Folgender Code sollte im Grundsatz funktionieren, vielleicht hilft Dir das weiter:

Code: Alles auswählen

Sub Dialog1Show
DialogLibraries.LoadLibrary( "Standard" )
oDialog1 = CreateUnoDialog( DialogLibraries.Standard.Dialog1 )
oDialog1Model = oDialog1.Model
oFrameModel = oDialog1Model.FrameControl1
'MsgBox oFrameModel.Dbg_Properties
'msgBox oFrameModel.Label
oFrameModel.Label = "Neuer Name"
oDialog1.Execute()
End Sub
Wie muss ich damit umgehen? Steht da ueberhaupt etwas zum schreiben des Titels drinen?
Nein, Du bist an einer falschen Stelle. Ich wußte nicht was die (Objekt)variable t(1) umfaßt. Notwendig ist ein Verweis auf das 'Model' des Objekts (*). Dieser Hinweis ist auch gegeben durch "SbxOBJECT Model" (siehe Deinen Post). Wenn Du in dem oben stehenden Code die entsprechende Zeile entkommentierst und ihn laufen läßt bekommst Du die "richtigen" Eigenschaften angezeigt, darunter auch Label, womit Du Anfangs richtig lagst. (ich hatte wie gesagt title nur vermutet und nicht getestet, zumal wußte ich nicht um den Inhalt von t(1)).

(*)Hinweise zum Code findest Du in der Online-Hilfe unter: Makros und Programmierung --> Anleitungen.

Gruß
Stephan
schosch
*
Beiträge: 12
Registriert: Sa, 21.08.2004 20:22

Beitrag von schosch »

Hallo Stephan,
Vielen Dank, jetzt hab ich es geschafft. Und zwar mit deinem Code-Vorschlag:

oDialog1Model = oDialog1.Model
oFrameModel = oDialog1Model.FrameControl1
oFrameModel.Label = "Neuer Name"

Schoenen Sonntagabend noch
Georg
Antworten