Hallo zusammen,
ich möchte ein Textfeld in einer Dialogbox erst dann einblenden, wenn das Makro komplett abgearbeitet ist.
Wie geht das?
Grüßle
Alex
Dialogbox - Textfeld unsichtbar, bis Aufruf
Moderator: Moderatoren
Ich weiß nicht ob Du die Textbox brauchst um auch wenn abgeblendet einen Inhalt zu Speichern, universell dürfte sein die Größe auf null zu setzen:
Gruß
Stephan
Code: Alles auswählen
Public dia as object
Sub Main
oLib = DialogLibraries.getbyname("Standard")
dia = CreateUnoDialog(oLib.getByName("Dialog1"))
dia.execute()
End Sub
Sub verstecken
dia.getModel.getbyName("TextField2").height = 0
dia.getModel.getbyName("TextField2").width = 0
End sub
Stephan
Re: Dialogbox - Textfeld unsichtbar, bis Aufruf
Hallo Alex,
folgende Vorgehensweise:
Du mußt im Dialogeditor ein Dialog erstellen mit dem Namen "frmTest".
In dem Dialog gibt es ein Textfeld mit dem Namen "txt_Textfeld".
Ich habe mir angewöhnt die Steuerelemente im Dialogeditor immer etwas anders zu benennen als ich dann im Programm sie definiere (Public ...). Hatte da mal unangenehme Erfahrungen bei gleicher Namensvergabe.
Dann das Programm "Start_Dialog" ausführen und der Dialog erscheint und das Textfeld bleibt unsichtbar.
Im Programm habe ich standartmässig noch die Auswertung eventuell vorhandener OK- und Abbrechen-Schaltflächen (muß aber nicht sein.) eingefügt.
Mit dem Unterprogramm "Aktiviere_Textfeld" kann innerhalb des Makros an geeigneter Stelle das Textfeld sichtbar gemacht werden. Ein eventuell vorhandener Inhalt bleibt immer erhalten.
Generell:
Object.Visible=False '...Object unsichtbar
Object.Visible=True '...Object sichtbar
OHNE Beeinflussung des Inhalts des Objectes !!
Wolf
folgende Vorgehensweise:
Code: Alles auswählen
Public dlgTest as object
Public txtTextfeld as Object
Sub Start_Dialog
Dim a as long
dlgTest = CreateUnoDialog(DialogLibraries.Standard.frmTest) '..Dialog kreieren
txtTextfeld=dlgTest.GetControl("txt_Textfeld") '....Textfeld kreeiren
txtTextfeld.Visible=False '....................Textfeld unsichtbar
txtTextfeld.setText("Ich war unsichtbar") '....Text ins textfeld einsetzen
a=dlgTest.Execute() '...........Aufruf des Dialoges
Select Case a '....................Was wurde gedrueckt ??????
Case 1 '.....................OK wurde gedrueckt
msgbox "OK gedrueckt"
Case 0 '.....................Cancel wurde gedrueckt
MsgBox "Abbrechen gedrueckt"
End Select
dlgTest.Dispose() '............Dialog raus aus dem Speicher
End sub
Sub Aktiviere_Textfeld
txtTextfeld.Visible=True '...............Textfeld sichtbar machen
End Sub
In dem Dialog gibt es ein Textfeld mit dem Namen "txt_Textfeld".
Ich habe mir angewöhnt die Steuerelemente im Dialogeditor immer etwas anders zu benennen als ich dann im Programm sie definiere (Public ...). Hatte da mal unangenehme Erfahrungen bei gleicher Namensvergabe.
Dann das Programm "Start_Dialog" ausführen und der Dialog erscheint und das Textfeld bleibt unsichtbar.
Im Programm habe ich standartmässig noch die Auswertung eventuell vorhandener OK- und Abbrechen-Schaltflächen (muß aber nicht sein.) eingefügt.
Mit dem Unterprogramm "Aktiviere_Textfeld" kann innerhalb des Makros an geeigneter Stelle das Textfeld sichtbar gemacht werden. Ein eventuell vorhandener Inhalt bleibt immer erhalten.
Generell:
Object.Visible=False '...Object unsichtbar
Object.Visible=True '...Object sichtbar
OHNE Beeinflussung des Inhalts des Objectes !!
Wolf