2009-03-19 5 views

Antwort

9

auf Chose basiert, was Schablone, um Ihre Anwendung paßt am besten in:

Single Document Interface (SDI) - wenn Ihre Anwendung mit nur 1 Dokument oder Datenobjekt oder Daten arbeiten zu einem Zeitpunkt festgelegt

Beispiel: notepad.exe


Multiple Document Interface (MDI) - wenn Ihr applicaiton muss mit mehreren Dokumenten oder Datenobjekte oder Datensatz zu einem Zeitpunkt

Beispiel arbeiten: Visual Studio


Dialog Based - für etwas anderes .

Beispiel: Rechner


Egal, was Sie gewählt haben, haben Sie immer noch die gleiche Funktionalität am Ende zur Verfügung und Sie können es in irgendeiner Weise cusotmize. Sie beschränken sich also nicht auf irgendetwas, mit dem Sie beginnen.

Alle Varianten kommen mit CWinApp, der Basisklasse, von der Sie Ihre MFC-Anwendungen ableiten.

Mit einer dialogbasierten Anwendung starten Sie auch mit CDialog. Mit einer SDI-Anwendung starten Sie mit CMainFrame, CDocument und CView.

2

Wenn Sie ein SDI-Projekt auswählen, erhalten Sie ein ganzes Model-View-Controller-Framework. Sie erhalten eine Dokumentklasse (die von CDocument geerbt wird), die idealerweise alle Daten enthalten sollte, und eine View-Klasse (die von CView stammt), die mit der Anzeige zu tun hat. Sie erhalten einen Hosting-Frame mit einem bereits angehängten Menü, und es gibt Funktionen, die Sie überschreiben können, um sie zu speichern und in eine Datei zu laden.

Wenn Sie eine dialogbasierte Anwendung haben, erhalten Sie einen Dialog. Das ist es. Natürlich kann dieser Dialog andere hervorbringen, aber die Anwendung besteht im wesentlichen aus einem Dialog.

Wenn Sie eine kleine Anwendung entwickeln, die nur eine Aufgabe ausführt, ist eine Dialoganwendung geeignet, da Sie den Overhead nicht benötigen.

Wenn Sie eine Anwendung entwickeln, bei der der Benutzer Daten lädt, bearbeitet und speichert, wäre der SDI-Pfad geeigneter.

Nachdem ich Ihre Frage beantwortet habe, würde ich höflich fragen, ob es einen zwingenden Grund gab, warum Sie MFC über Windows Forms gewählt haben. Ich glaube, dass MFC eine ausgezeichnete Technologie für seine Zeit war, aber die Visual Studio-Suite bietet erweiterte Tools (wenn Sie bereit sind, den .NET-Pfad zu gehen).

+0

Entschuldigung, ich muss Ihre Frage verpasst haben. Ich kenne oder habe keine Kenntnisse oder keine Schulung in Windows Forms. Vielleicht könnte es etwas sein, in das man schauen kann. Ich begann meine Ausbildung mit Visual C++ und MFC. –

+0

"In seinem Tag"? Haben Sie die Fortschritte bemerkt, die MS der MFC in der Visual Studio Suite hinzufügt? Hört sich an, als hättest du MFC vorzeitig zurückgezogen. Ich bevorzuge MFC und nicht verwaltetes C++ gegenüber Windows Forms und den von .NET verwalteten Sprachen. Nenne mich Old School, aber meine nicht verwalteten MFC-Anwendungen übertreffen die verwalteten .NET-Anwendungen. Meine Kunden zahlen für Leistung, nicht Entwickler "Annehmlichkeiten" - es könnte mehr Aufwand, aber das Endergebnis war es ihnen wert. – SAMills

1

Wenn ein "Dokument" die richtige Metapher für Ihre Anwendung ist, verwenden Sie SDI oder MDI. (Eines von nur einem Dokument kann gleichzeitig geöffnet sein, mehrere, wenn mehr als eins.) Wenn Sie darüber nachdenken, ist die Metapher des Dokuments für die meisten Anwendungen nicht geeignet.

Verwandte Themen