Visual c++ Member-Variablen in verschiedenen Dialogen benutzen
MASCH
- programmiertechnik
Hallo
Ich habe COMMANDBUTTON in einem Dialog(IDD_Seite1)benutzt, denen ich auch Member-Variablen zugewiesen habe. Nun möchte ich gerne die Farbe des Button wechsel lassen wenn in dem anderen Dialog(IDD_Seite2) eine best. Bedingung erfüllt ist.
Mein Problem besteht drinn, dass ich die Member-Variablen aus Dialog(IDD_Seite1)nicht aufrufen kann.
Wie komme ich jetzt daran
Hallo MASCH,
Mein Problem besteht drinn, dass ich die Member-Variablen aus Dialog(IDD_Seite1)nicht aufrufen kann.
Wie komme ich jetzt daran
Kannst Du Dein Problem etwas genauer erklären? Handelt es sich um modale Dialogboxen, die nacheinander aufgerufen werden oder um nichtmodale, zwischen denen der Benutzer wechseln kann, werden die Dialogboxen aus derselben Funktion/Klasse aufgerufen etc.
Versuch's erst mal ungefähr so:
Weise die Membervariable einer in der ersten Dialogbox globalen Variable zu, auf die Du aus der aufrufenden Funktion/Klasse zugreifen kannst. Diese Funktion leitet sie dann an die zweite Dialogbox weiter.
Grüße
Andreas
Versuch's erst mal ungefähr so:
Weise die Membervariable einer in der ersten Dialogbox globalen Variable zu, auf die Du aus der aufrufenden Funktion/Klasse zugreifen kannst. Diese Funktion leitet sie dann an die zweite Dialogbox weiter.
Was heisst Dialogbox?? wenn dann nichtmodale
Ich habe eine Karteikarte angelegt.
Auf der ersten kann etwas von einem ftp-Server geladen werden (mehrere Dateien) auf der zweiten Karteikarte sollen sich dann Buttons farblich ändern (jenachdem welche Datei heruntergeladen worden ist)Jede Karteikarte besteht aus einem Dialog mit eigener Klasse. Nun muss die Karteikarte 1 wissen welcher Button auf Karteikarte 2 geändert werden soll und dies ist von der heruntergeladenen Datei abhängig
Ich hatte das etwa so vor
if (datei1 == 1)
m_button1.SetBackColor(RGB(0,255,255))
Hallo MASCH,
Ich habe eine Karteikarte angelegt.
Auf der ersten kann etwas von einem ftp-Server geladen werden (mehrere Dateien) auf der zweiten Karteikarte sollen sich dann Buttons farblich ändern (jenachdem welche Datei heruntergeladen worden ist)Jede Karteikarte besteht aus einem Dialog mit eigener Klasse. Nun muss die Karteikarte 1 wissen welcher Button auf Karteikarte 2 geändert werden soll und dies ist von der heruntergeladenen Datei abhängig
Korrigier mich, wenn ich falsch liege.
Karteikarten: Das heißt für mich, eine Klasse CPropertySheet und zwei Klassen CPropertyPage für die Seiten 1 und 2. Die beiden Seiten sind nicht gleichzeitig sichtbar, sondern Du mußt per Mausklick zwischen den beiden Seiten wechseln.
So, mein Vorschlag:
Beim Anlegen der zweiten Seite übergibst Du im Konstruktor einen Zeiger auf die erste Seite.
Nach dem Laden einer Datei setzt Du eine globale Variable der ersten Klasse auf einen Wert, der der geladenen Datei entspricht.
Beim Wechseln von Seite 1 zu Seite 2 nutzt Du den onfocus Event-Handler um diese globale Variable abzufragen und damit die Buttons einzufärben.
Ich hoffe ich habe Dich nicht ganz falsch verstanden.
Grüße
Andreas