neuen Dialog einbinden
-
hallo leute
ich habe in meinem Projekt über die Ressourcen ansicht einen neinen Dialog hinzugefügt
rechtsklick drauf und eine neue klasse erstellt
die .h Datei im Main dialog eingebundenund jetzt?
sorry ich mache das zum ersten mal
wie mach ich da jetzt weiter beim einbinden?Gruß Tigermoon
-
Du erstellst dir eine neue Instanz deines Dialogs.
CMyDialogClass myDialog;Anzeigen kannst du den dann wie folgt:
myDialog.DoModal()Was auch immer gut ist, wenn du einen Standard Dialog erzeugst mit "OK" und "ABBRECHEN" liefert DoModal() die ID des jeweiligen Buttons zurück.
if(myDialog.DoModal()==IDOK) { // z.B. Variablen des Dialogs auslesen }Wenn du eigene Buttons erstellst, dann musst den Rückgabewert halt selber definieren.
-
und wo genau lege ich die Instanz an?
im der [main].cpp wo ich die .h Dateien includiert habe?
-
Kannst in der Funktion in der du ihn dir anzeigen lassen möchtest.
Kannst kurz bissl mehr über deine Anwendung sagen? Dann kann man sich besser reindenken.
Beispiel:
void CChildView::OnTestEinstellungen() { CTestConfig dlgTestConfig(this); if(dlgTestConfig.DoModal()==IDOK) { m_bStrom = dlgTestConfig.m_bStrom; } }Diese Funktion wird aufgerufen, wenn im Menü auf den Punkt "Einstellungen" geklickt wird.
-
ich drücke auf einen button - dem hab ich per doppelklick ein ONClicker Ereignis hinzugefügt und will dort den neuen Dialog aufrufen
meine Frage war aber wo ich die Instanz erzeuge oder wie?
weil ich kann ja nix aufrufen was nicht erzeugt ist oder?
-
void CChildView::OnButton1() { DialogKlasse DialogName(this); // erzeugt eine neue DialogInstanz if(DialogName.DoModal()==IDOK) // Zeigt den erstellten Dialog an { m_bStrom = DialogName.m_bStrom; //wird ausgeführt, wenn Dialog mit "OK"Button beendet wurde } }
-
danke schön - das Aufrufen funktioniert
aber
was ist m_bStrom er sagt bei mir es wäre nicht definiert
auf was zeigt den m_bStrom? - auf das fenster? - auf eine variable?
-
sry m_bStrom ist bei mir halt eine Membervarialbe vom Typ int.
Die Zeile zeigt nur, wie du dann auf Membervarialben deines Dialogs zugreifen kannst. Die sind bei dir natürlich nicht definiert.
-
und wie definiere ich eine Membervariable

-
Tigermoon schrieb:
und wie definiere ich eine Membervariable

Hmmm, das sind aber absolute Grundlagen...
Eine Membervariable deklarierst du in der Headerdatei, genauso wie eine Memberfunktion.
-
oder einfach in der KLassenansicht nen Rechtsklick auf die gewünschte KLasse machen. Dann kannst auswählen was du machen willst.
Aber das gehört wirklcih zu den untersten Grundlagen.Ich empfehle dir mal http://www.cpp-tutor.de/ da kannst unten 2 Tutorials auswählen, die sind echt gut. Schau mal ob du damit zurecht kommst.