Ich hab für jeden Dialog eine eigene Klasse definiert, das war mein Fehler
Auch das kommt aus der Programmierung mit den MFC. Dort erstellt man normalerweise für jedes Dialogfenster eine Klasse, die von CDialog abgeleitet ist (bzw lässt dies den Klassenassistenten erledigen) und muss um das Fenster modal anzeigenzulassen nur noch DoModal einer Klasseninstanz der Dialogklasse aufrufen. Mag sich kompliziert und ekelhaft anhören, ist aber praktisch, und erspart bei großen Projekten wirklich viel Arbeit. Die MFC erleichtern eben in extrem vielen Bereichen die Programmierarbeit. Daher auch der Name. Eben Microsofts grundlegende Klassen. So gibt es z.b. für nahezu jedes Steuerelement eine Control Klasse, z.b. CListCtrl. Ich paste hier jetzt einfach mal aus der MSDN nen kleinen Ausschnitt über die MFC, das sollte eigenl alles sagen.
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
About the Microsoft Foundation Classes
The library’s classes are presented here in the following categories:
Root Class: CObject
MFC Application Architecture Classes
Application and Thread Support Classes
Command Routing Classes
Document Classes
View Classes (Architecture)
Frame Window Classes (Architecture)
Document-Template Classes
Window, Dialog, and Control Classes
Frame Window Classes (Windows)
View Classes (Windows)
Dialog Box Classes
Control Classes
Control Bar Classes
Drawing and Printing Classes
Output (Device Context) Classes
Drawing Tool Classes
Simple Data Type Classes
Array, List, and Map Classes
Template Classes for Arrays, Lists, and Maps
Ready-to-Use Array Classes
Ready-to-Use List Classes
Ready-to-Use Map Classes
File and Database Classes
File I/O Classes
DAO Classes
ODBC Classes
Internet and Networking Classes
ISAPI Classes
Windows Sockets Classes
Win32 Internet Classes
OLE Classes
OLE Container Classes
OLE Server Classes
OLE Drag-and-Drop and Data Transfer Classes
OLE Common Dialog Classes
OLE Automation Classes
OLE Control Classes
Active Document Classes
OLE-Related Classes
Debugging and Exception Classes
Debugging Support Classes
Exception Classes
|
Ich persönlich kann zu den MFC nur sagen, dass man sie natürlich nicht nutzen muss / es in vielen Fällen sogar gut ist, nur WinAPI zu benutzen. Da stimme ich zweifelslos zu. Jedoch gibt es eben auch Fälle, in denen die MFC so unersetzlich wären für mich.. Und ich wollte auch teilweise gar nicht ohne sie arbeiten. Ich würde denke ich niemals auf die Idee kommen, eine SDI oder gar MDI Anwendung ohne die MFC schreiben zu wollen, und würde das auch nie schaffen
Dank den MFC, den vorgefertigten Gerüsten und dem Klassenassitenten braucht man sich eben nur noch um den Anwendungscode zu kümmern.
Stroupstrup lässt jedoch grüßen: Lieber Standardbibliothek verwenden, wenn man eben auf die MFC im Rahmen der Mittel verzichten kann. Allerdings: Wenn man sie benutzt, kann man die Standardbibliothek im Normalfall außen vorlassen. Ich wüsste nicht, wann ich je eine Anwendung geschrieben hätte, die die MFC
und die Stadandardlib verwendet.. kA
So, etz hab ich wieder genug für die Woche geschrieben
cya :huhu: