Frage u Win32-Konsolenprogramm mit MFC-Unterstützung!



  • Hallo,

    ich hab mal die folgende Frage. Ich hab eben mal mit VisualStudio6 ein Projekt erzeugt mit der Option Win32-Konsolenprogramm mit MFC-Unterstützung....herausgekommen ist ein kleines Progrämmchen, das mit einer Funktion _t_main() oder so beginnt und in der irgendwas für MFC initialisiert wird....

    ...Könnte man in dieser main()-Funktion jetzt ein MFC-Window aufmachen???? und wenn ja, wie???...oder ist diese Art von Project wirklich NUR dafür da, dass man sowas wie CList benutzen kann???

    Besten Dank...

    p.s.: Antworten ala' "Mach doch das Fenster mit einem ganz normalen MFC-Projekt auf" helfen mir leider nicht weiter....



  • Ich denke das sollte gehen. Da du die MFC-Unterstützung hast und somit auch alle Klassen, usw., solltes du in der Main Funktion ein Window ganz normal erstellen können, wie du es in jeder anderen MFC-Application auch machst.

    Sicher bin ich mir aber leider nicht, da ich es selbst auch noch nicht ausprobiert habe. Doch der Aufruf der Exe geschieht halt über die Konsole, mehr ist dann auch nicht bei. Doch es verfehlt tatsächlich ein bisschen den Type wenn du in einem Konsolenprogramm irgendwelche Windows(außer einer neuen Shell) öffnest.

    codeman



  • ...wie müßte dann der Code zum Öffnen des Fensters aussehen???....bin noch nicht so firm mit MFC...



  • 1. Rechtsclick auf Dein Projekt
    2. "Add...|"Add class..."
    3. "MFC class" auswählen
    4. Als Klassennanmen "CMyDialog" angeben
    5. Als Basisklasse "CDialog" angeben
    6. Ok drücken
    7. Wenn Du willst kannst Du den Dialog nun im Ressource-Editor anpassen
    8. In Deine Hauptprogramm gehen
    9. Fast ganz oben #include "MyDialog.h" angeben
    10. In der main-funktion am Ende folgendes eingeben:

    CMyDialog dlg;
    INT_PTR nResponse = dlg.DoModal();
    

    Fertig!



  • Hi,
    besten Dank aber noch ne doofe Frage....wenn ich mit dem Klassenassi eine neue Klasse (abgeleitet von CDialog) erstelle...dann kommt die folgende Meldung:

    "Sofern Sie nicht bereits eine Diaogfeldressource für diese Klasse erstellt haben, legen sie diese an und starten dann den Klassenassi. Anderenfalls wird die Klasse mit einer ungültigen Dialogfeldressource erzeugt.."

    Wo kann man denn diese ID definieren???



  • ...hi, es klappt tatsächlich...die andere doofe frage hat sich auch erledigt...


Anmelden zum Antworten