Windows Forms Vers. MFC


  • Mod

    Warum würde mich auch interessieren. Vor allem weil MS schon an einem kompletten Ersatz für Windows Forms arbeitet...
    Alles was Win32 war geht weiterhin...
    Auch die neuen Controls von Vista werden MFC Unterstützung bekommen!

    Forms ist meines Erachtens auch nur ein Zwischenspiel. Die neuen UIs werden auch hier eine neue Klassen Bibliothek bekommen.



  • Die Leute vergessen, das die gesamte Avalon-Oberfläche weiterhin über Win32-API ansprechbar ist. Nur weil jetzt Transparenz dazu gekommen ist, ist man der Meinung "Das kann Win32 nicht, da muß doch Zauberei dahinter stecken, und das geht nur mit .NET." Klasse Logik! 😃

    Ich kann in C (und somit auch C++) weiterhin über Win32-API-Funktionen z.B. die Fenster mit einem milchig transparenten Fensterrahmen-/Hintergrund veredeln. Ich brauche dafür kein .NET, WPF oder sowas.



  • Artchi schrieb:

    Ich kann in C (und somit auch C++) weiterhin über Win32-API-Funktionen z.B. die Fenster mit einem milchig transparenten Fensterrahmen-/Hintergrund veredeln. Ich brauche dafür kein .NET, WPF oder sowas.

    Natürlich geht das. Die Frage ist nur: Was ist effektiv und zukunftssicher?

    Und da sehe ich eigentlich vorerst noch MFC im Vorteil, da es auf jeden Fall zukunftssicher ist. WinForms ist IMHO am Auslaufen und Avalon noch in den Kinderschuhen...



  • echt ?

    dann isses ja gut das ich MFC weiterhin lerne #gg

    aber ich habs bisher immer anders gehoert

    MFC wird nicht weitergemacht,
    framework ist immer mehr im kommen

    framework zukunftssicher
    mfc am aussterben

    usw usw

    mir solls egal sein, ich lern die MFC und solange die unterstuetzung da ist werd ich die auch benutzen, und wir hier in der firma verwenden {fast} alle das MFC
    man kanns ja statisch linken dann gehts eigentlich immer



  • Irgendwann wird sicher die Zeit kommen wo die MFC abgekündigt wird. Aber jetzt ist sie noch nicht da und in Orcas soll die MFC noch kräftig erweitert werden (bzgl. XP und Vista). Ich hoffe das es nicht nur versprochen wird, sondern auch so umgesetzt wird...

    Wenn sich die Windows-Oberflächen-Welt mal etwas beruhigst hat, dann haben sicherlich auch andere Techniken eine grosse Chance und werden die MFC über längere Sicht ablösen... aber da ist gerade noch zu viel Umschwung (in diverse Richtungen) drin...

    Wobei ich auch wieder sage muss: Ich mache schon seit 2001 WinForms und das ist ja auch schon ein "langer" Zeitraum in der heutigen Zeit. Und WinForms wird ers auch noch längere Zeit geben (wird aber vermutlich nicht sehr auf Vista angepasst werden).



  • Jochen! Das Win32-API effektiv ist, habe ich ja nicht gesagt. Nur sollte man auch nicht so tun (ich meine nicht dich!) als ob Vista keine Win32-API mehr hat. Das ist es ja, was immer wieder einige unwissende verklickert bekommen. Dieser Thread ist mal (wieder!) ein Beweis.

    Natürlich, die MFC wird irgendwann mal auslaufen. Nur nicht morgen.


  • Mod

    Auch nicht übermorgen 😃

    Auch die nächste VS Version wird wieder eine neue MFC Version beinhalten!



  • Hi Leute,

    danke für die Infos. Ich muss ganz ehrlich sagen das ich auch im mom noch zu MFC tendiere. Ausserdem habe ich mal bei Amazon ein bischen rumgeforscht und gesehen das für VC++ 2005 welches ja die MFC beinhaltet, mehrere Bücher zum Ende des Jahres geplant sind. Deshlab werde auch ich im mom noch auf MFC schwören. Ein gutes Buch das ich im übrigen empfehlen kann womit ich auch die MFCs gelernt habe ist:

    C++ Objektorientiertes Programmieren für Windows
    rororo-Verlag
    Helmut Erlenkötter

    ca. 10€

    Ein vergleichbares habe ich für den Anfang nicht gefunden gehabt.

    Allerdings wer das noch bekommen kann von MS Press Windowsprog... mit den MFCs. Ich hatte glück und noch eins über Ebay bekommen. Meiner Meinung nach ist eine Kombination von Herrn Erlenkötter und dieses von MS Press die beste Wahl.

    Und noch etwas ich habe mich mal so ein bischen umgehorcht und mit ein paar anderen Programmierern geredet und festgestellt das zwar die Qt, WxWidgets etc. ihren Einsatz finden aber bei weitem nicht so verbreitet sind wie die MFCs. Die meisten Anwendungen, Spiele etc. werden immer noch mit den MFCs programmiert. Deshalb verstehe ich dieses Hick Hack von wegen nicht mehr die MFCs lernen nicht oder was sagt Ihr dazu ?

    LG

    Micha



  • Die MFC ist nur deshlab so weit verbreitet, weil sie bei VS seit Jaaaahren dabei ist. Man muß auch sagen, das sie vom Funktionsumfang mächtig ist. Andere Frameworks, wie Qt und wxWidgets, haben aber vom Funktionsumfang aufgeholt. Weiterhin hat die MFC noch einen Vorteil: man kann in Kombination mit VS einfach ActiveX-Komponenten erstellen.

    Aber warum sagen die Leute, das MFC lieber nicht (mehr!) benutz werden soll? Weil die MFC schon sooo alt ist, das das Design fast nichts mehr mit Objektorientierung und vorallem mit C++ zutun hat. Es gibt auch höllisch viel Makros und es ist unheimlich schwer ohne VS-Wizards eine Anwendung zu programmieren.

    Wenn ich ein anderes Framework nehme (selbst das alte wx) kann ich ohne Wizard mit ein Paar Zeilen Code ein Fenster erstellen. Mach das mal in MFC. Horrortrip ist angesagt!

    Du mußt dir das so vorstellen: vor 20 Jahren gab es praktisch keinen C++ Compiler. Ungefähr so alt ist aber die MFC. Und bei MS hatte praktisch niemand nen Plan von OO und C++. So sieht heute das Design der MFC aus. Klar, gerechterweise muß man sagen, die MFC hat sich vom Funktionsumfang her verbessert. Aber das Design? Einfach nicht Zukunfssicher.

    Würde MS die MFC von Grund auf neu designen, also einen Umbruch machen, würde hier wohl jeder die nächste MFC-Version empfehlen.



  • Hallo,

    naja ohne VS-Wizard zu programmieren ist gar nicht so schwer. In dem Buch von Herrn Erlenkötter wird nix mit Wizard gemacht und ich finde auch das man trozdem schön coden kann. Allerdings wenn man z.B. die Resourcen-Datei *.rc in einem anderen Texteditor bearbeitet und danach in VS dann haut MS seine ganzen überflüssigen Kommentare und anderes Zeugs rein. Aber im grossen und ganzen finde ich kann man das Konzept und den Ablauf schön selber gestalten. Genauso finde ich, das man das OOP-Konzept ebenfalls gut anwenden kann. Klar würde ich auch langsam mal eine neue Version von MFC sehen die ja jetzt auch kommen soll. Fakt ist aber das halt noch die meisten Firmen auf MFC schwören genauso wie das ja auch mit Outlook, Excel und Word ist.

    Hier mal wie einfach es geht ein Fenster ohne WZ mit den MFCs zu erstellen:

    #include <afxwin.h>
    
    class CMyFrame : public CFrameWnd {
    public:
    	CMyFrame() { Create(NULL, _T("Einfaches Fenster")); }
    };
    
    class CMyApp : public CWinApp {
    public:
    	virtual BOOL InitInstance();
    };
    
    BOOL CMyApp::InitInstance() {
    	m_pMainWnd = new CMyFrame();
    	m_pMainWnd->ShowWindow(m_nCmdShow);
    	return TRUE;
    }
    
    CMyApp app;
    

Anmelden zum Antworten