Hilfe bei MFC componenten
-
Hi
ich soll eine MFC Gui basteln und hab da momentan so meine schwieriegkeiten.
Das programm ist ein UpdateTool.
Gui Aufbau:
Anzeigefeild für die EULA und für Ausgabe von Aktionen(zeilenweise), eine pseude progressbar, und 3 buttons ( Agree, Disagree, Info)Wird auf Agree geklickt, wird der Update gestartet. Hier werden dann noch ein paar Sicherheitsabfragen getätigt. Den Update hab ich in eine seperate Klasse ausgelagert um eine saubere Trennung zu haben. Diser Update kennt die Gui um seine Messageboxen darzustellen.
Die MessgeDialog besteht aus eine Text für die Message und 3 buttons wovon wahlweise der Mittlere oder die beiden äuseren sichtbar sind ( OK oder Yes / No Box)
Die Gui ist als CDialog implementiert.
Entwicklungs umgebeung MSVC 6.0Nun zu meinen Problemen.
1. Welches Element eignet sich sowohl zur darstellung einer EULA und zur darstellung von Aktionen. also auch zum anhängen von neuen Textzeilen.2. Wie beokomm ich einen CDialog Threadfähig? Momentan leuft der update prozess im gleichen thread wie die onAgree behandlung der Gui was zu unschönnen darstellungsfehlern der gui fürt. Start ich den Update in einem Thread, kann der seine MessageDialoge nicht mehr darstellen und ich krieg eine hässliche laufzeitfehlermeldung.
3. Wie kann ich zur laufzeit Buttons markieren? Meine Message Box hat wahlweise 1 oder 2 Buttons. bei den 2 button Lösung soll entweder der Linke oder der Rechte vorselektiert werden, damit man nicht einfach mit Enter, Enter,Enter sich einfach durchhangeln kann.
4. Pseude Progessbar. Die soll sich eigentlich nur bewegen um den benutzer anzuzeigen das sich da was tut ( Plazebo efeeckt ) werd dazu wohl noch nen zusätzlichen timer thread benötigen oder sowas. aber das kann momentan mal warten.
gruss Termite
-
1. CEdit mit mehreren Zeilen oder ein CRichEdit
2. Lass den Update in einem eigenen Thread laufen (VC in 21 Tagen angucken) oder sogar als einen eigenständigen Prozess (je nach Aufgabe)
3. Sollte mit SetFocus gehen (evtl. im Forum suchen)
4. Ich persönlich hätte würde ungern einen Pseudo ProgressBar machen. Wenn Du es willst, dann kannst es ja per Timer machen oder vom Thread heraus oder einen eigenen Thread der einfach verlangsamt ne Weile läuft...