Eigene MessageBox :-)
-
Hi,
Ich habe versucht mir eine eigene MessageBox zu basteln. Das ganze schaut nun so aus: Im Hauptprogramm steht diese Zeile zur Erstellung der Box.L_UserDialog * MyDialog1 = new L_UserDialog("Dokument1 wurde noch nicht gespeichtert.\n\nSoll dies noch erledigt werden?", S"Programm beenden?", S"&Ja", S"&Nein", S"A&bbrechen"); MyDialog1->ShowDialog();Die Fensterklasse selbst habe ich in eine eigene Header-Datei ausgelagert. – Soweit klappt das Ganze prima. ABER: Jetzt würde ich ganz gerne wissen, welche Auswahl der Benutzer getroffen hat und dieses Wissen mit einem Rückgabewert an das Hauptprogramm zurückgeben. Halt ganz wie bei einer richtigen MessageBox.
Wie geht so etwas?
-
hast du schon die suchfunktion benutzt, oder selbst geschaut wie das gehen könnte?
ich glaube nicht...
ich gebe dir mal einen tipp.
wenn du eine eigene messagebox erstellst und auch das verhalten normaler messageboxen nachamen möchtest versuch es mit DoModal()hier etwas aus der msdn:
void CTstApp::OnAppAbout() { // Construct the dialog box passing the // ID of the dialog template resource CDialog aboutDlg(IDD_ABOUTBOX); // Create and show the dialog box INT_PTR nRet = -1; nRet = aboutDlg.DoModal(); // Handle the return value from DoModal switch ( nRet ) { case -1: AfxMessageBox("Dialog box could not be created!"); break; case IDABORT: // Do something break; case IDOK: // Do something break; case IDCANCEL: // Do something break; default: // Do something break; }; }denke das müsste dich weiterbringen...
-
Ja, super! Hat geholfen.

-
nichts zu danken. findet man in der msdn.
das nächste mal, dort einfach suchen...
ist ganz trivial. z.b. nach CDialog::DoModal schauen...nur so ein tipp