Hallo,
ich habe eine kurze Frage zur Oberflächengestaltung:
Ich habe eine benutzerdefinierte Maske eingebaut, auf der ich Rechnername, gegebenfalls die IP-Adresse des Servers und eine Radio-Auswahl Client/Server-Installation habe.
Jetzt möchte ich, wenn auf der Maske nichts eingegeben wurde, den Weiter-Button auf der Maske Deaktivieren/Read-Only-setzen. So wie es auf der Maske Licence-Agreement ist. Dies habe ich mir angeschaut und nun Folgendes gemacht:
Bei Weiter als Action habe ich eingegeben:
Action | Argument | Bedingung
New Dialog | ReadyToInstall | (SELECTSERVER = 1 AND RECHNERNAME<>"") OR (SELECTSERVER<>1 AND RECHNERNAME<>"" AND SERVERIP<>"")
SELECTSERVER = Server/Client -> SERVER = 1, CLIENT <> 1
RECHNERNAME = Name des Rechners
SERVERIP = IP-Adresse des Servers
Die Abfrage funktioniert auch schon, jedoch wird der Button nicht grau. Wenn ich jetzt nichts eingebe, kann ich auf den Button drücken wie ich will, jedoch passiert nix. Von daher klappt die Abfrage, aber ich würde den Button gerne ausgrauen, um zu vermeiden, dass hier der Fehler gemeldet wird, dass nix passiert.
Kann mir jemand sagen, wie ich dies machen kann?
Gruß Christoph
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Button deaktivieren bei Bedingung
Started by
cheese-2402
, Aug 04 2009 08:39
6 replies to this topic
Posted 04 August 2009 - 10:57
Hallo,
im Bereich "behavior" deines Dialogs auf deinen "Weiter"Button klicken. Dann in der rechten Spalte unten auf "Conditons. Hier gibst du zwei Conditions an jeweils eine für "Enable" und eine für "Disable". Die Bedingungen De-Aktivieren den Button. Aber darauf achtén, das sich die Bedingungen nicht "überschneiden".
z.B.
Enable = SERVER And RECHNERNAME And SERVERIP
Disable = Not(SERVER or RECHNERNAME or SERVERIP)
im Bereich "behavior" deines Dialogs auf deinen "Weiter"Button klicken. Dann in der rechten Spalte unten auf "Conditons. Hier gibst du zwei Conditions an jeweils eine für "Enable" und eine für "Disable". Die Bedingungen De-Aktivieren den Button. Aber darauf achtén, das sich die Bedingungen nicht "überschneiden".
z.B.
Enable = SERVER And RECHNERNAME And SERVERIP
Disable = Not(SERVER or RECHNERNAME or SERVERIP)
Edited by ali, 04 August 2009 - 10:58.
Posted 07 August 2009 - 10:55
Hallo Ali,
deine Beschreibung versteh ich jetzt nicht ganz.
Ich bin jetzt mal an 2 Stellen gesucht.
1:
Benutzeroberfläche -> Dialogfelder -> Mein Dialog -> Deutsch(Standard) -> Auf den Button "Weiter" geklickt und bei den Eigenschaften gesucht -> kein behavior oder irgendwas von Conditions / Bedingungen etc
2: Benutzeroberfläche -> Dialogfelder -> Mein Dialog -> Verhalten -> den Button "Next" markiert, hier stehen schon andere Sachen, die ausgeführt werden, wenn der Button gedrückt wird. Hier hab ich auch schon die Bedingung eingegeben, aber da wird nix grau.
Kannst du mir vielleicht nochmal kurz erklären was du meinst?
Gruß Christoph
deine Beschreibung versteh ich jetzt nicht ganz.
Ich bin jetzt mal an 2 Stellen gesucht.
1:
Benutzeroberfläche -> Dialogfelder -> Mein Dialog -> Deutsch(Standard) -> Auf den Button "Weiter" geklickt und bei den Eigenschaften gesucht -> kein behavior oder irgendwas von Conditions / Bedingungen etc
2: Benutzeroberfläche -> Dialogfelder -> Mein Dialog -> Verhalten -> den Button "Next" markiert, hier stehen schon andere Sachen, die ausgeführt werden, wenn der Button gedrückt wird. Hier hab ich auch schon die Bedingung eingegeben, aber da wird nix grau.
Kannst du mir vielleicht nochmal kurz erklären was du meinst?
Gruß Christoph
Posted 12 August 2009 - 12:21
Super, so solls sein.
Jetzt hab ich jedoch nur noch ein Problem:
Die beiden Felder sind ja Textfelder. Wenn ich jetzt den Rechnernamen eingebe und dann auf die IP-Adresse klicke und da was eingebe, muss ich auf ein anderes Element (z.B. Checkbox) klicken, damit der Button dann erst aktiv wird. Jetzt ist meine Frage, ob ich irgendwie bei den Textfeldern ein Ereignis auslösen kann, die die Bedingung nach jedem Tastendruck prüft?
Jetzt hab ich jedoch nur noch ein Problem:
Die beiden Felder sind ja Textfelder. Wenn ich jetzt den Rechnernamen eingebe und dann auf die IP-Adresse klicke und da was eingebe, muss ich auf ein anderes Element (z.B. Checkbox) klicken, damit der Button dann erst aktiv wird. Jetzt ist meine Frage, ob ich irgendwie bei den Textfeldern ein Ereignis auslösen kann, die die Bedingung nach jedem Tastendruck prüft?
Posted 12 August 2009 - 13:53
Nein, das geht leider nicht. Stattdessen müsstest du nach Druck auf "Weiter" prüfen und ggf. eine Fehlermeldung anzeigen.
Stefan Krüger
InstallSite.org twitter facebook
Posted 12 August 2009 - 14:11
du kannst evtl. ein Mask Edit Control (wie bei einer Seriennummer) verwenden und für die IP zb. ###.###.###.### als Mask vorgeben. In den Bedingungen kannst du dann auf das Property prüfen ob hier was eingegen wurde. Wie du jetzt allerdings auf eine vollständige und korrekte Eingabe der IP prüfen kannst, kann ich dir leider nicht sagen. Bei einer Prüfung auf "" würde der Weiter Button bereits bei der Eingabe des ersten Zeichens aktiviert.
Evtl. nach den Drücken auf Weiter dann noch mal zusätzlich auf Vollständigkeit und Korrektheit per Script Prüfen und dann entweder weiter oder zurück.
Evtl. nach den Drücken auf Weiter dann noch mal zusätzlich auf Vollständigkeit und Korrektheit per Script Prüfen und dann entweder weiter oder zurück.