Unterformular bzw. Kontrollfeld verstecken / unsichtbar mac

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: Unterformular bzw. Kontrollfeld verstecken / unsichtbar mac

Re: Unterformular bzw. Kontrollfeld verstecken / unsichtbar mac

von Gabriel123 » Fr, 18.01.2008 13:19

Hallo,

habe gerade versucht den Code zu übernehmen. Habe es mit einem ImageButton probiert. Komischerweise wird der Button nicht unsichtbar sondern nur nicht mehr anklickbar?! ist das normal für visible false? Eigentlich sollte der Button doch ganz weg sein.

Danke!

Re: Unterformular bzw. Kontrollfeld verstecken / unsichtbar mac

von turtle47 » Fr, 13.07.2007 07:21

Hallo Zusammen,

@Winfried
Hattest Du vielleicht den Entwurfsmodus an....? Der Code versagte zunächst ja beim VIEW...., und der ist anders, wenn "Entwurf" aktiv ist.
Wenn der Entwurfmodus noch aktiv ist, dann passiert gar nichts. Es kommt auch keine Fehlermeldung.
Habe das gerade mal ausprobiert.

Aber die Hauptsache ist ja, dass es jetzt funktioniert.

Jürgen

Re: Unterformular bzw. Kontrollfeld verstecken / unsichtbar mac

von komma4 » Fr, 13.07.2007 00:37

laura36 hat geschrieben:[...]hab Jürgens Variante ausprobiert, hat geklappt, und dann ging die von Komma auch
:-) Wundert mich nicht, da sie "eigentlich" identisch sind....


Hattest Du vielleicht den Entwurfsmodus an....? Der Code versagte zunächst ja beim VIEW...., und der ist anders, wenn "Entwurf" aktiv ist.

Re: Unterformular bzw. Kontrollfeld verstecken / unsichtbar mac

von laura36 » Do, 12.07.2007 22:44

Hi Komma, hi Jürgen,

vielen Dank, jetzt funktionieren beide Versionen. Ich komm nicht drauf, was ich beim ersten Versuch falsch gemacht hatte. Ich hab Jürgens Variante ausprobiert, hat geklappt, und dann ging die von Komma auch. Der Teufel versteht es. Am Ende war's ein blöder Tipfehler ...

Danke auf jeden Fall. Das ist genau das, was ich gesucht habe.

grüße
Laura

Re: Unterformular bzw. Kontrollfeld verstecken / unsichtbar mac

von laura36 » Do, 12.07.2007 22:30

komma4 hat geschrieben:Ich verstand nach Deinem ersten Posting: ein Formular in einem Writer-Dokument...korrekt?
ich denke schon... damit wir uns sicher richtig verstehen: ein Writer-Dokument mit Drawpage und Forms und Subforms. Kein Calc-Dokument, kein Writer-Dokument im Datenbankcontainer...
komma4 hat geschrieben:
Bei welcher Zeile kommt die Meldung?
bei:

Code: Alles auswählen

vCtrl = View.GetControl(oCtrl)
Das Controllelement selbst oCtrl wird noch angesprochen, ich kann mit

Code: Alles auswählen

msgbox oCtrl.text 
Text auslesen.

Re: Unterformular bzw. Kontrollfeld verstecken / unsichtbar mac

von turtle47 » Do, 12.07.2007 22:03

Hi Laura,

suchst Du sowas?

Code: Alles auswählen

Sub ButtonAusblenden
   oDoc = thisComponent
   oController = oDoc.getCurrentController()
   oform=odoc.drawpage.forms.getbyindex(0)
   oKontroll1 = oForm.getByName("PushButton1")' Name der Schaltfläche
   oKView = oController.getControl(oKontroll1)
   oKView.visible = false ' einschalten = true
End Sub
Jürgen

Re: Unterformular bzw. Kontrollfeld verstecken / unsichtbar mac

von komma4 » Do, 12.07.2007 22:02

Ich verstand nach Deinem ersten Posting: ein Formular in einem Writer-Dokument...korrekt?

Bei welcher Zeile kommt die Meldung?

Re: Unterformular bzw. Kontrollfeld verstecken / unsichtbar mac

von laura36 » Do, 12.07.2007 21:42

laura36 hat geschrieben:Ich versuch's dann mal mit oOO 2.2, vielleicht gab's da eine Veränderung.
Komisch, auch mit 2.2.1 (debian-Pakete von der oOO-Seite) funktioniert es bei mir nicht. Was ist anders?

grüße
laura

Re: Unterformular bzw. Kontrollfeld verstecken / unsichtbar mac

von laura36 » Do, 12.07.2007 21:22

Hi Komma4,

danke für die Antwort. Dein Code sieht definitiv besser aus ;-) aber funktioniert bei mir leider nicht - im exakt gleichen Szenario. Fehler ist "Eigenschaft oder Methode nicht gefunden".


Sub hideCtrlField
doc=thiscomponent
view=doc.getcurrentcontroller()
oCtrl=doc.getdrawpage().getforms().getbyindex(0).getbyName( "name" )
' msgbox view.dbg_methods
vCtrl = View.GetControl(oCtrl)
vCtrl.setvisible(false)
End Sub

wenn ich mir versuche mit dbg_methods oder properties näheres zu view anzeigen zu lassen kommt übrigens die gleiche Fehlermeldung.

Ich versuch's dann mal mit oOO 2.2, vielleicht gab's da eine Veränderung. Oder hat noch jemand eine Idee?

grüße
laura

Re: Unterformular bzw. Kontrollfeld verstecken / unsichtbar mac

von komma4 » Do, 12.07.2007 20:23

der Code aus dem engl. Forum ist nicht korrekt; Folgendes funktioniert hier (aber nicht, wenn das Formular im Entwurfsmodus ist!)

Code: Alles auswählen

Sub hideCtrlField

doc=thiscomponent
view=doc.getcurrentcontroller()
' first control on first form
' oCtrl=doc.getdrawpage().getforms().getbyindex(0).getbyindex(0)

' first form, control by name
oCtrl=doc.getdrawpage().getforms().getbyindex(0).getbyName( "erstes" )

vCtrl = View.GetControl(oCtrl)
vCtrl.setvisible(false)
End Sub

Unterformular bzw. Kontrollfeld verstecken / unsichtbar mac

von laura36 » Do, 12.07.2007 15:33

Hallo Liste,

nach langem ergebnislosen Suchen wende ich mich nun an euch:
Ich habe in einer Adressverwaltung ein Formular auf einem Textdokument basieren. Jetzt sollen abhängig von bestimmten Schaltern Teile des Formulars ausgetauscht werden, um nicht mehrere Formulare verwenden zu müssen.

* OpenOffice 2.0.4

Zwei Möglichkeiten gäbe es:

1. Mehrere Formulare, die je nach Gegebenheit sichtbar gemacht werden
2. die einzelnen Kontrollfelder ansprechen

ersteres scheint, was ich bisher gefunden habe nicht zu gehen. Zweites sollte gehen, ist mir aber in Formularen bisher nicht gelungen - nur in Dialogen.

Folgendes funktioniert nicht:

Sub HideCtrlField
oDoc = ThisComponent
oCtrl=oDoc.getcurrentcontroller()
oForm = oDoc.DrawPage.Forms.GetByName("result")
oSubForm = oForm.GetByName("contacts")
oCtrl = oSubForm.GetByName("test")
oCtrl.Visible = 0
End Sub

Im englischsprachigen Forum hab ich das gefunden:

Sub Main
doc=thiscomponent
view=doc.getcurrentcontroller()
' first control on first form
oCtrl=doc.getdrawpage().getforms().getbyindex(0).getbyindex(0)
vCtrl = View.GetControl(form)
octrl.setvisible(false)
End Sub

der Code ist erstens comisch, zweites funktioniert er nicht.
setvisible(false) finde ich auch nirgends als Eigenschaft.

Wer kann mir helfen?


grüße laura

Nach oben