MASCH: Visual c++ Member-Variablen in verschiedenen Dialogen benutzen

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

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

    1. 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))

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