Zugriff auf Dialog ?
-
Hallo zusammen
ich möchte zugriff auf das HaupDialog Klasse aus eine andere klasse und das schon seit 2 wochen

ich habe in der Neben klasse eine zeiger auf die Hauptklasse angelegt.
und eine Funktion SetDialog().#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Toplama.h : Header-Datei
///////////////////////////////////////////////////////////////////////////////
// Fenster Toplamaclass CZweiklassenDlg;
class Toplama : public CWnd
{
// Konstruktion
public:
Toplama();// Attribute
public:CZweiklassenDlg Dialog;// Hauptdialog Zeiger
void Anzeige(int a);
// Operationen
public:
void SetDialog(CZweiklassenDlg dialog) { Dialog = dialog; };// Überschreibungen
// Vom Klassen-Assistenten generierte virtuelle Funktionsüberschreibungen
//{{AFX_VIRTUAL(Toplama)
//}}AFX_VIRTUAL// Implementierung
public:
virtual ~Toplama();// Generierte Nachrichtenzuordnungsfunktionen
protected:
//{{AFX_MSG(Toplama)
// HINWEIS - Der Klassen-Assistent fügt hier Member-Funktionen ein und entfernt diese.
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein.#endif // AFX_TOPLAMA_H__A8760A5F_1C9A_460F_B5A3_50C8F96BD56A__INCLUDED_
wenn ich den Diolagzeiger einsetzen möchte bekomme ich kein zugriff
// Toplama.cpp: Implementierungsdatei
//#include "stdafx.h"
#include "zweiklassen.h"
#include "Toplama.h"
//#include "zweiklassenDlg.h"
#ifdef DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE_;
#endif/////////////////////////////////////////////////////////////////////////////
// ToplamaToplama::Toplama()
{}
Toplama::~Toplama()
{
}void Toplama::Anzeige(int a)
{
Dialog-> //der zeiger oprator öffnet mir keine liste was mache ich da falsch?}
BEGIN_MESSAGE_MAP(Toplama, CWnd)
//{{AFX_MSG_MAP(Toplama)
// HINWEIS - Der Klassen-Assistent fügt hier Zuordnungsmakros ein und entfernt diese.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
////////////////////////ich bekomme keine Fehler meldung aber auch kein zugriff auf die Elemente des Haupdialoges.
kann mich bitte jemand von diesen qualen befreien..
Bin Anfänger
ich möchte doch nur auf die HaupKlasse zugriff haben kann doch nicht so schwer sein
Grüße Can
-
Versuch mal
((*CZweiklassenDlg)GetParent)->Funktionsname bzw Variablenname
-
Guten Morgen Trikor
so habe ich es auch probiert leider 3 fehler
void Toplama::Anzeige(int a)
{
//Dialog->((*CZweiklassenDlg)GetParent)->m_sAnzeige ="Hallo";
}Toplama.cpp
C:\Maximum MIDI\Example Apps\zweiklassen\Toplama.cpp(32) : error C2275: "CZweiklassenDlg" : Ungültige Verwendung dieses Typs als Ausdruck
c:\maximum midi\example apps\zweiklassen\toplama.h(13) : Siehe Deklaration von 'CZweiklassenDlg'
C:\Maximum MIDI\Example Apps\zweiklassen\Toplama.cpp(32) : error C2146: Syntaxfehler : Fehlendes ')' vor Bezeichner 'GetParent'
C:\Maximum MIDI\Example Apps\zweiklassen\Toplama.cpp(32) : error C2059: Syntaxfehler : ')'
Fehler beim Ausführen von cl.exe.
-
Hallo,
da hat Trikor eine recht eigenwillige Schreibweise eines C-Style-casts angegeben, und da GetParent eine Funktion ist, fehlen auch noch die Klammern dahinter, richtiger wäre es also so:
((CZweiklassenDlg*) GetParent())->m_sAnzeige ="Hallo";MfG
-
Trikor schrieb:
Versuch mal
((*CZweiklassenDlg)GetParent)->Funktionsname bzw VariablennameWas hab ich da geschrieben???

Mein Gott, das darf doch wohl nicht war sein. Das ist natürlich völliger Blödsinn.
Richtig ist wie Probe-Nutzer schon schrieb
((CZweiklassenDlg*) GetParent())->Funktionsname bzw VariablennameIch versprech hoch und heilig nie wieder morgens um 10.00 h (total besoffen nach einer durchzechten nacht) ein Posting abzugeben. Hab bis grade nicht mal mehr gewusst, das ich mich überhaubt am Rechner gesetzt habe.
Nochmal Sorry
