Visual C++ Express wegen MFC?

Hallo,

erstmal kurze Info. Mit C oder C++ habe ich noch nie was mit zu tun gehabt. Habe mich zur kostenlosen Express entschieden, weil man diese auch komerziell benutzen kann. Kenne nur PHP und Delphi aber auch API. Mit der neuen Sprach Syntax… da muss ich jetzt erst mal durch.

Nun hörte ich aber etwas von MFC, was gerne zur Fensterprogrammierung genommen wird. Ist das jetzt so ein Paket mit Komponenten? Was ist hier der Unterschied zwischen denen, die schon vorhanden sind? Immerhin kann ich unter „Neu/Projekt/Windows Forms-Anwendung“ ja eine Fenster-Anwendung erstellen. In der Toolbox sind ja genügend Komponenten wie Panel, Groupbox etc. vorhanden.

Kann man eigentlich neue Komponenten mit der Express Version zusammen basteln?

Als Beispiel… mein Interessengebiet an Fenster-Anwendungen liegt so bei TotalCommander. API-Zeiten sind alt aber ich will wieder einsteigen.

Gruß
Mike

Hi,

Nun hörte ich aber etwas von MFC, was gerne zur
Fensterprogrammierung genommen wird. Ist das jetzt so ein
Paket mit Komponenten?

Die Microsoft Foundation Classes sind nicht nur grafische Komponenten, sondern bilden ein ganzes Framework. Zum einen wird es damit einfach in Fenster zu zeichen; es stehen Klassen wie z.B. CRect, CPoint, etc zur Verfügung, mit denen du u.a. auf Kollision oder Auswahl von deinen gezeichneten Objekten prüfen kannst.
Zudem bietet es dir ein ganzes Konzept wie du die Anwendung aufbauen sollst - fängt damit an, dass die Darstellung von den Daten getrennt wird.
Ein „Ober“ (Parent) Fenster kann zudem mehrere kleinere Fenster in sich beherbergen kann - unterschieden wird hier zwischen SDI und MDI (http://de.wikipedia.org/wiki/Multiple_Document_Inter…)
Aber natürlich bietet dir das Framework auch neue grafische Elemente wie z.B. Ribbons (Daraus besteht Office 2007).

Was ist hier der Unterschied zwischen
denen, die schon vorhanden sind? Immerhin kann ich unter
„Neu/Projekt/Windows Forms-Anwendung“ ja eine
Fenster-Anwendung erstellen. In der Toolbox sind ja genügend
Komponenten wie Panel, Groupbox etc. vorhanden.

Das ist dann aber die WinApi, die auf alten C-Funktionen basiert. Sie bietet dir nicht diese ganze Organisationsstruktur herum - außerdem ist bei den MFC jedes grafische Element mit einer Klasse verbunden (also Objektorientiert, im Gegensatz zur WinApi) - womit du darauf zugreifen kannst, welches zumindest für mich das arbeiten damit leichter macht.
Zudem kannste sowas wie Ribbons nicht mit der WinApi erstellen.

Kann man eigentlich neue Komponenten mit der Express Version
zusammen basteln?

Meinste eigene Bedienelemente? Wenn ich richtig informiert bin sind die MFC doch sowieso nicht in der Express-Version enthalten, oder doch?

Viele Grüße

Manny

Guten Tag,

erst mal Danke für deine Antwort.
Hab gestern noch ein Video gesehen… er hörte sich an, als ob er sich auskennt :wink: … es wird jedenfalls empfohlen C# zu nehmen, wenn es um die normalen Windows Forms Anwendungen geht.

Hab C++ mal gelöscht und C# installiert.

Zur API… diese Ribbons du du genannt hast… also mit Delphi würd ich sowas hinbekommen (als Komponenten). Das ist im Grunde ja auch nur Panel hier, Linie dort… grob gesehen.

Wie gesagt, jetzt muss ich erst mal einen Einstieg finden und mich mit der Syntax vertraut machen. Wichtig ist mir nur, dass ich selbst Komponenten erstellen kann… vergleichbar mit Delphi (als Beispiel)… Grund-Komponente (TCustomPanel) und seine Kreativität fließen lassen.

Zu MFC… ja, bei der Express sind diese nicht dabei. Deshalb wollt ich mal wissen, was das genau ist und ob ich erst mal ohne auskommen kann. Will hat nicht gleich was weis ich wieviele Euros ausgeben, damit ich MFC benutzen kann. Express Versionen kosten dann ja erst mal nichts :wink:

Hallo mics,

Zu MFC… ja, bei der Express sind diese nicht dabei. Deshalb
wollt ich mal wissen, was das genau ist und ob ich erst mal
ohne auskommen kann. Will hat nicht gleich was weis ich
wieviele Euros ausgeben, damit ich MFC benutzen kann. Express
Versionen kosten dann ja erst mal nichts :wink:

Zu MFC. Das gilt als veraltet, damit macht keiner mehr was.
Heute nimmt man WPF (Windows presentation foundation),
vorher verwendete man „WinForms“. Man kann das mit
jeder Microsoft-Programmiersprache nutzen, welche man
tatsächlich verwendet, hängt davon ab, was man sonst
noch machen will.
=> http://stackoverflow.com/questions/4776355/does-wpf-…

WPF und WinForms benötigen .NET, das ist also nicht
zu unterschätzen (Komplexität, Installation, Weitergabe).

Eine empfehlenswerte Alternative ist Qt, das
frei Verfügbare Framework, welches sich neben
Windows auch für Linux und Mac eignet. Dort
ist sowas wie Dein Norton-Commander relativ
leicht zu realisieren - Du kannst es später
sogar für Unix verwenden. Sehr sehr viele
Leute verwenden das, auch Adobe und Google.

vgl.:
http://pepper.troll.no/s60prereleases/doc/xmlpattern…
http://developer.qt.nokia.com/forums/viewthread/2774

Durch die Installation des
QT-SDK mit QT-Creator (LGPL)
http://qt.nokia.com/downloads
erhältst Du schon eine gute
Entwicklungsumgebung.

http://www.amazon.com/Advanced-Qt-Programming-Creati…

Grüße

CMБ

1 Like

Danke für die vielen Infos.
Mir ist das alles zu viel drumherum… auch das oft benötigte .NET (je nach dem was man halt benutzt) gefällt mir nicht. Schon die Installation der Visual Produkte von Microsoft… es herscht Verzeichnis und Datei-Chaos im gesammtem System. Uninstall Note 5,9 vergebe ich hiermit Microsoft.

Ich will zwar nur für Windoes programmieren aber doch ordentlich und die Kontrolle behalten, d.h. ich progge gern alles selber. Nur das Problem ist, um auch beim Standard zu bleiben, sind fehlende Informationen… z.B. war es damals schwer OpenThemeData etc. zu benutzen, weil es einfach noch zu wenig Infos darüber gab. Das hab ich zwar damals mit meinem Delphi 4 noch alles herausbekommen aber irgendwo will man auch nicht stehen bleiben und bei einer alten Version bleiben. Ich mach mir auch lieber eine eigene DBF-Funktion, benutze die Datei-Funktionen, schreibe IF-Anfragen, prüfe Headerinfos etc. als schnell mal SQL Komponenten zu verwenden.

Zu MFC. Das gilt als veraltet, damit macht keiner mehr was.

Und grauenhaft ist es noch dazu!