Grundlegende Fragen zu Projekttypen



  • Hallo!

    Ich habe gerade angefangen ein Einsteiger-Buch über C++ .NET zu lesen, da ich aber im moment sowieso noch bei MFC bin ist es nicht von Bedeutung, dass es .NET ist. Also, nun meine Fragen:

    1. Ich habe noch nicht viel Ahnung von C++, laut meinem Buch trifft aber folgendes zu:
      Bei MFC-Anwendungen hat (unter anderem) man die Möglichkeiten SDI, MDI, Dialogbasierend und "Mehrere Fenster auf höchster Ebene".
      Was ist nun, wenn ich mehrere Fenster machen will, die alle fast selbstständig arbeiten soll, also nichts gemeinsam haben, außer dass sie eben zum Gleichen Programm gehören: Da stellt sich doch das Problem, dass jedes Fenster eine eigene Menüleiste haben soll, die sich von der der anderen Fenster vollkommen unterscheiden soll. Wie kann man das machen?
      Laut meinem Buch ist nämlich keine der MFC-Anwendungstypen dafür brauchbar: SDI hat nur ein Fenster, bei MDI haben die Child-Fenster alle das gleiche Aussehen, Dialogbasiert unterstützt keine Menüleisten und bei "Mehrere Fenster auf obester Ebene" schauen auch alle Fenster gleich aus.

    2. Was ist diese MFC eigentlich? Ich weiß nur dass man Anwendungen sowohl mit, als auch ohne MFC schreiben kann.
      Welche Variante ist in welchem Fall besser geeignet? (Anmerkung: Ich mag es nicht wenn irgendwas im Hintergrund abläuft und sich vor mir "versteckt". Ich will lieber auch mit den Details in Berührung kommen.)

    3. Irgendwie gefällt mir an C++ nicht, dass man bei MFC-SDI-Anwendungen sozusagen ein "Hauptfenster" hat (das beim Programmstart geladen wird), das nur per Code erstellt wird, und dann Dialoge erstellen kann, die man per Designer zusammenbauen kann. Kann man nicht auch entweder alle Fenster per Code erstellen (so in Java, wenn man keine zusätzlichen Designer installiert hat) oder alle Fenster per Designer erstellen (so wie in VB)?

    4. Weiß jemand, wo ich ein Beispielprojekt runterladen kann, das so wenig Code wie möglich enthält - gerade soviel dass die Anwendug lauffähig ist und ein leeres Fenster am Bildschirm erzeugt. Bei den Assistenten werden ja auch immer About-Dialoge und Menüleisten erstellt, Dinge die die Sache für einen Anfäher nur verkomplizieren.

    Danke für alle Antworten!

    mfg



  • C++ - Einsteiger schrieb:

    1. Was ist diese MFC eigentlich? Ich weiß nur dass man Anwendungen sowohl mit, als auch ohne MFC schreiben kann.
      Welche Variante ist in welchem Fall besser geeignet? (Anmerkung: Ich mag es nicht wenn irgendwas im Hintergrund abläuft und sich vor mir "versteckt". Ich will lieber auch mit den Details in Berührung kommen.)

    Die MFC ist eine Klassenbibliohek die es einem erleichtern soll Windows-Anwendungen zu erstellen. Sie baut auf der WinAPI auf (dies ist die Sammlung der Windows Funktionen) und kapselt diese in einer objektorientierten Weise. Die MFC zur Fenster-Programmierung zu verwenden ist wesentlich schneller, logischer (vom menschlichen Denkansatz) und einfacher. Bei der Ausführung läuft nichts im Hintergrund wie bei Java die VM. Allerdings hast du schon recht mit der Befürchtung, dass du von den Details "ferngehalten" wirst. Das ist aber kein Problem, da du jederzeit die WinAPI zwischendurch verwenden kannst, falls die Möglichkeiten der MFC nicht genügen (z.B. für Systeminfos, etc.).
    Die MFC oder andere Klassenbibliotheken werden auch oder gerade von Unternehmen eingesetzt weil so die Programm-Grundlagen schneller geschaffen sind und die teuren Programmmierer sich mit anderen Sachen beschäftigen können.
    Die WinAPI in ihrer reinen Form wird eigentlich selten verwendet, außer wenn die Programmierer Freaks mit zuviel Zeit sind, die Programme sehr einfach sind, sehr schnell sein müssen (obwohl der Unterschied wohl gering ist) oder die Programme fast nur auf Systemnivau arbeiten (Treiber, ...).

    C++ - Einsteiger schrieb:

    1. Irgendwie gefällt mir an C++ nicht, dass man bei MFC-SDI-Anwendungen sozusagen ein "Hauptfenster" hat (das beim Programmstart geladen wird), das nur per Code erstellt wird, und dann Dialoge erstellen kann, die man per Designer zusammenbauen kann. Kann man nicht auch entweder alle Fenster per Code erstellen (so in Java, wenn man keine zusätzlichen Designer installiert hat) oder alle Fenster per Designer erstellen (so wie in VB)?

    Stop! Das ist kein Haken an C++ sondern an der MFC!! C++ kann von sich aus garnichts! Nicht mal Text auf die Konsole schreiben! Dazu benötigt es Bibliotheken wie z.B. die WinAPI.
    Zu deinem Problem: Man kann auch mit der MFC Dialoge per Code erstellen. Dazu solltest du einfach mal bei google suchen, denn Tutorials dazu gibt es genug


Anmelden zum Antworten