Guten Tag Ich bin ein Anfänger in diesem Thema und hab ne Frage. Ich habe ein kleines Programm geschrieben auf MFC Basis und möchte nun das Programm wieder schliessen indem ich auf den Button schliessen klicke, wie bekomme ich das hin? Wie wird das im Quellcode geschrieben? Gruss Marco
Hab länger nix mehr mit MFC gemacht, aber wenn ich mich recht erinnere, reicht es zumindest bei einem Abbrechen-Button aus, diesem die ID IDCANCEL zu geben. Ich nehm an, du hast die im Framework vorgesehene Methode genommen, eine eigene Klasse von CDialog abzuleiten und diese an deine Dialogressource zu binden? Dann sollte das funktionieren.
Kannst du das kurz per Code erläutern nur 1-2 Zeilen komme bei deiner eklärung nicht nach, wenn ich den Code nicht sehe. Besten Dank Marco
Zwar kenne ich die MFC-Programmierung durchaus recht gut aus (mache das seit knapp 15 Jahren), aber ein Word-Dokument ist kein MFC-Sourcecode, und daher lade ich mir das auch nicht herunter.
Als Word-Dokument?! Screenshots kann man als PNG, GIF oder auch JPG erstellen, dazu bedarf es keiner verseuchungsanfälligen proprietären MS-Formate. Poste Deinen Quellcode, dann kann ich sehen, was Du versuchst anzustellen und Dir sagen, was/wo Du machen kannst, um Dein Ziel zu erreichen.
Codebeispiel? Ich habs gerade noch mal ausprobiert, du benötigst wirklich exakt 0 (Null) Zeilen Code, allein aufgrund der Bezeichnung IDCANCEL verwendet das MFC-Framework den Button als Abbrechen-Button! Für die 0 Zeilen kann ich dir jetzt leider kein Beispiel geben ;-) Lediglich wenn du ein abweichendes Verhalten brauchst (z.B. eine nervige Dervorgangistnochnichtabgeschlossenwollensiedenassistentenwirklichbeende n-Abfrage) braucht du einen eigenen Handler für die BN_CLICKED-Message. Hierfür läßt du dir dann einfach per Doppelklick ein Grundgerüst erstellen.
der mechatroniker wrote: > Codebeispiel? > > Ich habs gerade noch mal ausprobiert, du benötigst wirklich exakt 0 > (Null) Zeilen Code, allein aufgrund der Bezeichnung IDCANCEL verwendet > das MFC-Framework den Button als Abbrechen-Button! > > Für die 0 Zeilen kann ich dir jetzt leider kein Beispiel geben ;-) > > Lediglich wenn du ein abweichendes Verhalten brauchst (z.B. eine nervige > Dervorgangistnochnichtabgeschlossenwollensiedenassistentenwirklichbeende n-Abfrage) > braucht du einen eigenen Handler für die BN_CLICKED-Message. Hierfür > läßt du dir dann einfach per Doppelklick ein Grundgerüst erstellen. und in den baut dann auch der Wizard gleich noch den richtigen call ein (mein MFC ist etwas eingerostet, war das EndDialog()? ) um den Dialog zu schliessen, wodurch dann auch die ganze Applikation (da das ja eine Dialogbasierte Applikation ist) geschlossen wird. Ich kann dir nur dringend empfehlen, in der nächsten Buchhandlung ein Werk über MFC Programmierung zu erstehen. Es gibt noch vieles, was man da lernen muss. Nicht umsonst haben solche Machwerke einen Umfang von einigen hundert Seiten. Wenn du da nicht systematisch herangehst, dann wird das nichts. Ein Buch führt dich systematisch an die Dinge heran und ist meist auch noch ein ausgezeichnetes Nachschlagewerk für so manches Detail.
> und in den baut dann auch der Wizard gleich noch den richtigen call > ein (mein MFC ist etwas eingerostet, war das EndDialog()? ) um den > Dialog zu schliessen, wodurch dann auch die ganze Applikation > (da das ja eine Dialogbasierte Applikation ist) geschlossen wird. AFAIK ist es EndDialog, ist aber in diesem Zusammenhang auch egal. Der Wizard baut einen Aufruf der Basisklassenvariante des neu erstellten Handlers ein (der eigene Dialog ist ja von CDialog abgeleitet), und damit verhält sich das Ding ohne weiteres zutun des Programmierers doch weiterhin so, als hätte man den eigenen Handler nicht eingefügt (außer eben, man unterbindet mit einem if den Aufruf der Basisklassenmethode in bestimmten Fällen). > Ich kann dir nur dringend empfehlen, in der nächsten Buchhandlung > ein Werk über MFC Programmierung zu erstehen. Es gibt noch vieles, > was man da lernen muss Meinst du mich damit (da du zuvor meinen Beitrag zitiert hast)? Wenn ich vorhätte, in nächster Zeit des Öfteren mit der MFC zu arbeiten, hättest du sicherlich recht, ich bin da wirklich kein Profi. Da ich das aber nicht vorhabe, hat das sicher keine Priorität. Oder meintest du den Threaderöffner?
der mechatroniker wrote: > du sicherlich recht, ich bin da wirklich kein Profi. Da ich das aber > nicht vorhabe, hat das sicher keine Priorität. Oder meintest du den > Threaderöffner? Ist nicht klar hervorgegangen. Mein Fehler. Ich meinte den Threaderöffner. Die Dialogsteuerung mit MFC ist sozusagen 'Basiswissen von der einfacheren Sorte'. Wenn er das nicht hinkriegt, kann er nicht über Literatur verfügen. Die wird er aber brauchen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.