Problem bei Zugriff
-
Hast du in der anderen Dialogdatei eine VARIABLE von dem Dialog, wo der Button drin ist?
Dann geht das so:andererDialog.pBoxOne->EnableWindow(TRUE);
Sonst wirds abenteuerlich...
-
nee, ich hab nur ganz normal den Button druf gepackt und in den eigenschaften auf Deaktiviert gesetzt
-
Von wo wird der Dialog mit dem Button aufgerufen?
Und von wo der andere?
-
das einzigste, was ich gemacht hab in dem dialog ist die Klasse
die heißt, wie oben schon gesagt: MessageAufruf
-
der Dialog, wo der Button drauf ist, wird per DoModal aufgerufen;
auch per Buttonklick aus dem Hauptdialogund der Dialog, der angezeigt werden soll, sprich: der, wo ich den Button ansprechen will, soll ausgeführt werden, wenn eine Routine erfolgreich durchlaufen ist und dann den Button des angezeigten Dialogs auf Aktiv setzt
-
Wenn ich jetzt
MessageAufruf::pBoxOne->EnableWindow(TRUE);
mache, zeigt er mir nur noch einen Fehler:
error C2227: Der linke Teil von '->EnableWindow' muss auf Klasse/Struktur/Union zeigen
-
Ganz langsam bitte. Ich glaube, du solltest das nochmal mit den Klassennamen erklären, dann kann man die besser beim Namen nennen.
Wer ruft wen auf?
Beispiel:
CHauptdialog ruft CEinDialog auf.CEinDialog einDialog; einDialog.DoModal();
So möchte ich das gerne sehen, dann kann man die meisten Mißverständnisse ausschließen.
Du weißt aber auch, dass nicht zwei Dialoge gleichzeitig die "obersten" sein können, wenn sie mit DoModal aufgerufen werden?
Naja, erklär mal, dann sehe ich ja, obs geht oder nicht.
-
also:
Ich habe einen Hauptdialog
dieser hat eine Registerkarte, wodurch weitere Dialoge aufgerufen werden
Wenn ich auf den Reiter "erstellen" klicke, zeigt er mir einen Dialog, der bestimmte Vörgaänge macht
In diesem Dialog sollen bestimmte Vorgänge passieren. Während diese Vorgänge passieren, soll ein anderes Dialogfeld angezeit werden.
In diesem Dialógfeld (IDD_Message) mit der Klasse "MessageAufruf" habe ich folgendes deklariert:
Header Datei:
CWind* pBoxOne;
und in der CPP Datei unter OnInitDialog()
pBoxOne = GetDlgItem(IDC_BUTTON1);
In diesem Dialogfeld ist dieser Button, der erst nach erfolgreichem durchlauf Aktiv gesetzt werden soll.
Dann starte ich in dem anderem Dialogfeld die Vörgange:
//Start der Routine Aufruf = new MessageAufruf; Aufruf->Create(IDD_Message,NULL); Aufruf->ShowWindow(SW_SHOWNORMAL); //Routinen //Wenn erfolgreich MessageAufruf::pBoxOne->EnableWindow(TRUE);
-
Ich glaube, mir geht ein Licht auf.
Versuchs mal mit:
Aufruf->pBoxOne->EnableWindow(TRUE);
Das ist zwar nicht absturzsicher, aber es sollte gehen.
Trotzdem: Nimm dir bitte mal die Zeit, ein gutes Tutorial durchzuarbeiten.
Henkessoft ist sehr empfehlenswert.Du hast da nämlich Sachen durcheinander geworfen, die einen ganz schwindelig werden lassen.
-
Ja geil
Keine Fehler nichts *Ggg*
ey, du bist cool
vielen dank
ok, kannst mir mir nen Link geben wo ich das finde?
also das Tut?
-
Klar.
http://www.henkessoft.de/Der Autor ist übrigens auch Mitglied hier im Forum (Erhard Henkes).
-
jo, vielen dank nochmal