Forum: PC-Programmierung Wie kann ich den Aufrufer einer Dialogbox ermitteln ?


von Karlheinz Druschel (Gast)


Lesenswert?

Hi Leuts,

ich habe folgende Situation:
In der Dialogbox A gibts es einen Button xyz. Wenn ich diesen anklicke, 
dann öffnet sich eine zweite Dialogbox (ein PropertySheet).
In dieser zweiten Dialogbox möchte ich nun auf eine Variable der ersten 
Box zugreifen. Sicherlich kann ich diese übergeben, aber eleganter wäre 
es doch, wenn die zweite Box ermitteln kann wer sie aufgerufen hat.

Ungefähr so:
dlg1 = GetAufrufer();
Aufrufer->xyz

Geht das irgendwie ?


Greets
Karlheinz

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

GetParent liefert das Fensterhandle des Parent-Fensters.

Schicke dem per SendMessage eine Nachricht, an die Du den Wert anhängst.

von Karlheinz Druschel (Gast)


Lesenswert?

Hm,
erstmal danke für die schnelle Antwort. Aber welche Message soll ich 
schicken ?
Also ich habe folgendes Konstruct:

class A : public CObject
{
public:
     Function_a(CString str);
}

class B : public CObject
{
public:
     A v1;
     void Function_b();
}


class C : public CDialog
{
public:
     void Function_c;
}

void b::Function_b()
{
     C dlg;
     dlg.DoModal();
}

void C::OnButtonxyz()
{
    // Hier muss ich nun die Funktion A::Function_a() aufrufen
}


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.