Jump to content


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.
Photo

Text in einer Editbox anzeigen


4 replies to this topic

ANo

ANo
  • Full Members
  • 179 posts

Posted 31 January 2007 - 11:29

Hallo, ich komme an einer Stelle nicht weiter.

Ich habe einen Wert, den möchte ich in ein Textfeld (Editbox) eintragen.
Ich kann zwar über eine mit dem Textfeld verknüpften Eigenschaft den Text abfragen und der Eigenschaft einen neuen Text zuweisen.

Aber wie bekomme ich diesen Text zur Anzeige (quasi ein Refresh des Textfeldes)?

Könnte mir bitte jemand helfen.
André


ANo

ANo
  • Full Members
  • 179 posts

Posted 16 February 2007 - 13:24

Hallo,
ich bin gnau in das Problem reingeraten:
Ich habe in meinem Dialog eine EditBox.
Wenn in dieser EditBox editiert wird und dann wird über eine Eigenschaft Text zugewiesen,
dann wird dieser Text nicht angzeigt.

nach Suche im Internet habe ich folgendes gefunden:

--> "Using a Browse For File Common Dialog in a Basic MSI Installation" / By Jeff Briggs (Updated 7/16/2003)
Er umgeht das Problem mit einer C++.dll

--> In die Richtung geht auch: "Check if License Text was Completely Viewed" / By Kallely L.Sajan

--> und etwas anders, aber auch Update-Problem:
"Using Dual ListBoxes as Replacement for a Multi-Selection ListBox" / By Stefan Krüger

gefunden unter: http://www.installsite.org

Was ich nicht verstehe: Warum muß ich mich heute noch mit so etwas rumschlagen?
Haben andere auch das Problem?
Liegt das nur an der Windows Installer Version?

Viele Grüße
André


ANo

ANo
  • Full Members
  • 179 posts

Posted 24 August 2009 - 10:09


Hallo, ich muß doch noch mal nachfragen, da ich das Problem wieder habe.
--> Textcontrol Anzeige aktualisieren

In dem oben beschriebenen Fall (2007-02-16) habe ich tatsächlich den Dialog geklont. Und dies fkt. auch heute noch sehr gut.
Nur da waren es mehrere + verschiedene Controls, die aktualisiert werden mußten.
Da lohnte sich der Aufwand.

Heutiges Problem:

Aber hier, bei einem einzelnen TextControl?

Ich möchte in einem Dialog ein Textcontrol anzeigen,
wenn ein Button gedrückt wird.

Ich bekomme dies nicht hin. Der Text wird nicht angezeigt.

Kann es sein, daß dies nur funktioniert, wenn man den Dialog klont?

Die Benutzung eines Progressbar ist hier sinnlos (mit Kanone auf einen Spatz geschoßen).


MfG
André



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 24 August 2009 - 10:39

Ich weiß nicht ob es für Static Text oder Editboxen einfacher geht (mein Artikel bezog sich auf Listboxen). Experimentier mal mit Event Subscriptions. Mindestens für die Beschreibungstexte der Features in FeatureTree Dialog funktioniert ja das dynamische aktulaisieren von Static Text. Auch bei den Feature-Verzeichnissen im gleichen Dialog. Auf jeden Fall muss ein Control betätigt werden. Reines Editieren einer Editbox schickt keine Events.

ANo

ANo
  • Full Members
  • 179 posts

Posted 26 August 2009 - 07:47

Hallo Stefan, erst einmal vielen Dank für Deinen Hinweis.
Ich konnte das Problem lösen.

Anbei eine Kurzanleitung für das Ein-/Ausblenden einer TextBox beim Button-Click (mit BasicMSI, IS 2009 Professional):

1. TextBox im Dialog plazieren; "Text1" umbenennen in z.B. "txtMsg".
2. Für die TextBox "txtMsg" die Eigenschaft "propMsg" setzen (standardmäßig wird beim Anlegen der TextBox die Eigenschaft "NewProperty1" angelegt; diese einfach umbennenen). (Die Eigenschaft findet sich dann mit dem Wert=0 in der Eigenschaftsansicht wieder.)

3. Für den Button "Next" unter Ereignisse die Eigenschaft setzen:
- Ereignis: [propMsg] / Argument: 1 / Bedingung: 1
- andere Ereignisse/Aktionen ...
- Ereignis: [propMsg] / Argument: 0 / Bedingung: 1
- Aufruf/Anzeige des nächsten Dialogs, etc. ...

4. Für die TextBox "txtMsg" die Bedingungen setzen:
- Aktion: Hide / Bedingung: propMsg=0
- Aktion: Show / Bedingung: propMsg=1

5. Textstring setzen.
6. Testen.

Und das wars.
Viele Grüße
André