aus unterdialogen variablen aus hauptdialog abfragen
-
hallo,
frage:
ist es möglich dass ein unterdialog variablen eines hauptdialogs ausliest?
bsp.
ich hab im hauptdialog einen thread laufen, der liest daten einer hardware ein, in verschiedenen unterdialogen möchte ich jetzt anzeigen ob ein signal vorhanden ist oder eben nicht.jetzt könnte ich es ja einfach so machen
unterdialog1.signal_ok = 1;müsste dann aber bei dialog 2
unterdialog2.signal_ok = 1;bei dialog 3:
unterdialog3.signal_ok = 1;usw. eingeben,
würde also lieber umgekehrt aus den unterdialogen variablen des Hauptdialogs abfragen.weiß jetzt nicht ob mein problem einigermasen verständlich war?!?

danke schon mal
Al
-
Übergib doch den Unterdialogen einen Pointer auf
den Hauptdialog, diese können dann via Get-Methoden
die Daten aktualisieren.Devil
-
danke, hört sich gut an,
jetzt kommt sicher ne saudumme frage
ich öffne die unterdialoge mitm_unterdialog1.DoModal();wobei m_unterdialog eine variable vom typ der unterdialogklasse ist,
wie übergeb ich nun einen pointer auf den hauptdialog und wie bekomme ich dann variablen werte mit get?!?
danke
Al
-
z.B:
Im neuen Dialog
CThreaddefaultDlg* m_pOwner;
void SetOwner(CThreaddefaultDlg* pOwner) { m_pOwner = pOwner; };Im alten dann mit
m_unterdialog1.SetOwner(this);
-
was macht denn "GetParent()" ????
-
hab ich mich auch schon gefragt

liefert irgendwie den zeiger, weiß aber nicht wie man das ding anwenden muss,
ich glaube man mus dazu auch im child dialog die header datei der parent klasse einbinden,
aber genaues weiss ich nicht
Al
-
so, habs hingekriegt,
ich beantwortet nun mal meine frage noch mal selbst so das es auch idotin (wie ich eben) kapieren können.
aus meinem parent dialog öffne ich einen modalen dialog (child).
die klasse des parent dialogs heißt CparentDlg, die klasse des child dialog heißt CChildDlg.wichtig, im child dialog muss das headerfile des parent dialog eingebunden sein!
#include "parent.h"im parent dialog hab ich eine membervariable als public definiert (m_Zahl).
den wert von m_Zahl möchte ich jetzt gerne vom child dialog auslesen.und das geht dann ganz einfach so:
m_child_zahl = ((CParentDlg*)GetParent())->m_Zahl;wobei m_child_zahl eine membervariable des childdialogs ist.
so funktioniert,
wenn mir jemand aber noch einen link hätte wo GetParent() noch ausführlich erklärt wird, wäre klasse,
see ya
Al
-
Hallo,
youCanCallMeAl schrieb:
wenn mir jemand aber noch einen link hätte wo GetParent() noch ausführlich erklärt wird, wäre klasse
was ist in der Erklärung, die man in der MSDN-Lib findet:
nicht verständlich?
MfG