MFC oder WinAPI??



  • Hallöchen zusammen!

    Ich möchte ein Programm schreiben, das Dateien von A nach B kopiert. Dabei soll der User den Quellpfad und Zielpfad auswählen, um dann alle bzw. selektierte (ausgewählte) Dateien von A nch B zu kopieren.
    Wie läßt sich das am Besten realisieren, mit MFC, WinAPI....... ?
    Ich kenne mich ein bißchen in VC++ aus, nur ist mir der Unterschied von MFC und WinAPI nicht klar. Beim stöbern im Netz ist mir halt aufgefallen, dass sich das auf beide Arten realisieren läßt.

    Wie läßt sich das am Besten realisieren, mit MFC, WinAPI....... ?

    Grüße
    :-|



  • Wie läßt sich das am Besten realisieren, mit MFC, WinAPI....... ?

    Das ist Ansichtsache! Aber im MFC - Forum dürfte selbst Dir die Antwort klar sein. Oder? 🤡



  • Im Grunde sind die MFC Klassen ja nur Wrapperklassen für die WinAPI. Die MFC wurde also geschrieben, um einem das Leben leichter zu machen. Du kannst natürlich auch die API benutzen, aber die ist (wie ich finde) bei großen Programmen ziemlich unübersichtlich. Das sollte bei deinem Proggie ja nicht das Problem sein, aber wenn du mit der API arbeitest, dann kannst du AFAIK den Ressourceneditor nicht benutzen -> viiiiel mehr Arbeit.
    Ich habe bis jetzt immer die MFC bevorzugt, aber es gibt natürlich auch Leute, die sehen das alles ganz anders. Musst du halt schauen.



  • Zu sagen wäre noch, dass nicht die komplette WinAPI von der MFC gekapselt sind.
    Es entstehen dir aber keine Einbußen, da du die WinAPI Funktionen auch in einem MFC Programm verwenden kannst.
    Meiner Meinung nach ist es von Vorteil, beides zu kennen.
    Zum Lernen und Verstehen ist die pure API m.E. besser geeignet, da MFC zu sehr zum zusammenklicken verleitet ohne das man Dinge wie Nachrichtenwarteschlangen richtig versteht.
    Setzt man dann später MFC ein, so nutzt einem außerdem das Wissen:

    Moment mal, mit der MFC scheint es zwar nicht möglich, ich weiß aber, dass die API dafür eine Funktion bereithält. Also nehme ich die.

    Hättest du diese Erfahrung nicht, würde dir viel entgehen.

    Resourcen aus dem Editor lassen sich auch in puren WinApi Programmen verwenden, man muss sie nur manuell laden.



  • Danke, das hilft mir erstmal weiter!

    Ich habe jetzt aber noch kein Dialog gefunden mit dem ein Benutzer einen Pfad angeben/auswählen kann. Die Klasse CFileDialog hilft mir nicht weiter, da ich ja nur eine Datei auswählen kann.
    Ich möchte aber nur den Quellpfad (Quellordner) auswählen lassen um dann mit einer späteren Aktion den kompletten Inhalt des angegebenen Ordners woanders hinkopieren.

    Wie geht das mit MFC??



  • Siehst du 😉 Genau was ich gesagt habe.
    Es gibt eine schöne einfache WinApi Funktion namens SHBrowseForFolder
    dafür.

    Siehe http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shbrowseforfolder.asp

    Dran denken, shlobj.h einzubinden und ggfs. die noch die Library.



  • In den FAQ gibts auch ein Beispiel wenn ich mich richtig erinnere. 😉



  • Ist auch die gleiche Frage wie:

    Benutze ich nun eine IDE oder schreibe ich alles mit Wordpad oder sonstwas.
    Nehme ich eine fertige Klasse für z.B. einlesen einer INI oder schreibe ich den Code dafür selbst in meinen Source.

    Die IDE ist zur Erleichterung da.
    Die MFC (auch wenn sie einigen nicht genug C++ ist) wurde zur Erleichterung entwickelt.


Anmelden zum Antworten