Seite 1 von 1

C++ Frage zu GUIs mit MFC (Visual C++ / Tutorials)

Verfasst: 10.05.2004, 16:16
von max_power
Ärgere mich jetzt schon ziemlich lange damit rum, eine GUI für C++ zu programmieren. Nachdem ich wxWindows nicht auf dem Mac zum Laufen gebracht habe, habe ich mir doch Visual C++ 6 für Windows besorgt. Ich hatte gehofft, ich könne mir damit meine GUI schön zusammenklicken, aber anscheinend gilt das nur für Dialogfenster, im Hauptprogramm lässt sich nicht viel klicken.
Nun meine Frage: Kennt ihr ein schönes kleines Tutorial, mit dem ich möglichst fix in die GUI-Programmierung reinkomme? Oder könnt ihr mir sogar direkt ein paar Tipps für Visual Studio geben?

P.S.: Ich weiß, dass man GUI eigentlich nicht zusammenklickt und wenn dann schon gar nicht mit M$ Programmen. Da die GUI aber nur einen kleineren Teil des Projektes ausmacht und ich nicht soviel Zeit darauf verwenden kann, halte ich das für legitim.

Re: C++ Frage zu GUIs mit MFC (Visual C++ / Tutorials)

Verfasst: 10.05.2004, 16:40
von Martin Lassahn
gefüllter_DoppelMax hat geschrieben: Ich hatte gehofft, ich könne mir damit meine GUI schön zusammenklicken, aber anscheinend gilt das nur für Dialogfenster, im Hauptprogramm lässt sich nicht viel klicken.
Was meinst du genau? Man legt in den meisten Hochsprachen die GUI visuell fest und verdrahtet danach 'manuell' die Events und Methoden. Kommt natürlich immer auf das Programm an, wie aufwändig das wird und auf die Entwicklungsumgebung, wie die das unterstützt. Ich persönlich halte die MS-Umgebungen für durchschnittlich, besonders für Anfänger ist es schwierig.

Verfasst: 10.05.2004, 16:48
von max_power
Hm, also ich gehe so vor:
Lege ein neues MFC-Projekt an –> bekomme lauter Dateien erstellt.
Dann kann ich mittels eines visuellen Editors meine „Aboutbox“ bearbeiten, aber ich finde keine Möglichkeit, das Hauptprogrammfenster visuell zu bearbeiten.

Wenn ich das Programm kompiliere und starte bekomme ich ein Hauptfenster mit Menü-, Werkzeug- und Statusleiste, aber einer großen, weißen Hauptfläche. Ich schätze, dass ich irgendwas für diese Fläche im entsprechenden Quelltextabschnitt einprogrammieren muss, weiß aber leider (noch) nicht ganz wo und vor allem nicht wie.

Vielleicht bringt die Info, was ich haben will etwas:
Ein Hauptfenster mit zwei Tabs. In Tab eins soll man verschiedene Konfigurationen laden, bearbeiten und speichern können, in Tab zwei sollen Testergebnisse für diese Konfigurationen als Graphen ausgegeben werden.

Kann irgendjemand was damit anfangen, oder bin ich zu konfus?

Verfasst: 10.05.2004, 17:02
von theDon
ja, da wirst du was coden müssen. (*hust* mfc ist böse. qt eigentlich auch, im zeifelsfall aber immer noch besser.)

bei qt gibts den qt-designer, damit kannst du recht gut was zusammenklicken. allerdings ist das dann kein reines c++ mehr. (und wie gesagt, qt ist böse.)

wxWidgets sollte eigentlich unter OS X laufen.

Verfasst: 10.05.2004, 17:24
von Martin Lassahn
Um GUIs einfach mit C++ zu erstellen empfehle ich den C++-Builder von Borland. Ist in meinen Augen das einfachste für Einsteiger: ein Leerformular, wo man aus einem grossen Pool Komponenten draufwirft. Die Kopplung zu den Tabs/Images/Buttons/Labels kriegt man auch ganz easy hin.

Da es eine Verwandtschaft mit Delphi hat, wird es don wohl verteufeln....

Verfasst: 10.05.2004, 17:40
von max_power
gardener hat geschrieben:Da es eine Verwandtschaft mit Delphi hat
Wäre dann wohl genau das Richtige für mich. ;)

Arbeitet der mit MFC und gibt's den kostenlos?


@theDon: Ich würde ja auch gerne was anderes als MFC nehmen, aber Qt gibt's für Windows (da muss es am Ende leider laufen) nicht kostenlos, außerdem wird in der Abteilung nur mit MFC und Visual C++ gearbeitet.
Das mit wxWidget war eine ganz blöde Sache, gerade, als ich rumprobiert habe, ging deren Wiki nicht und jetzt bin ich zu entnervt, um es noch mal damit zu versuchen.
Dass ich etwas tippen muss, ist mir klar, aber gerade dafür suche ich dann ja noch Tutorials.

Verfasst: 10.05.2004, 17:59
von john_doe[g]
Mit dem Builder wirst du wohl Pech haben...der verwendet kein MFC sondern die VCL (ich liebe proprietäre Bibliotheken, besonders bei C++ :)) und die GUI-Programme sind u.a. dadurch nicht mit VC++ kompatibel, da es außerdem Borland-spezifische Erweiterungen hat.
(Obwohl ich Delphi mag, gefällt mir der Builder deswegen nicht so...zu viel rumgehacke am C++-Standard, um Delphi ähnlicher zu sein.)

Verfasst: 10.05.2004, 18:29
von Martin Lassahn
stimmt. wenn man an Visual C++ gebunden ist, dann kommt man eigentlich bei professioneller GUI-Programmierung nicht um MFC drumherum. Der C++ Builder ist vielleicht für Einsteiger interessant, welche die freie Auswahl haben und in erster Linie GUI und Datenbanken verwenden möchten.

EDIT: Abgesehen davon ist der Builder auch nicht kostenlos. Zwar nicht sooo teuer, aber für Privatanwender zum Rumspielen überteuert.

Verfasst: 10.05.2004, 18:44
von max_power
Visual Studio 6 kriegen wir zum Glück über die Uni kostenlos, normalerweise kostet das bestimmt auch nicht wenig…

Habe mir mal http://www.codeproject.com/tabctrl/mditabs.asp runtergeladen. Ist schon viel zu kompliziert und ich steige kaum durch, aber er hat es wohl so gemacht, dass er mit dem Dialog-Editor ein paar Dialoge erstellt hat und diese dann in das Hauptfenster (nicht als Dialoge, sondern irgendwie anders) eingebunden hat. Mal schauen, ob ich rausfinde, wie das geht.

Verfasst: 11.05.2004, 20:16
von theDon
die VCL benutzt übrigens teilweise wxWidgets ;)
The latest version of Borland's C++ Builder uses wxWidgets. !
http://wiki.wxwidgets.org/wiki.pl?WxWid ... r_Toolkits

http://wiki.wxwidgets.org/wiki.pl?MSVC_Setup_Guide <- das solltest du lesen. wxWidgets ist imho sehr intuitiv, ganz im gegensatz zu qt. ;)

Verfasst: 11.05.2004, 20:31
von max_power
Na ja, von wxWidgets habe ich mich jetzt schon seelisch verabschiedet. ;) Wie gesagt, ging Wiki damals nicht. Die Installation habe ich hinbekommen, aber ich habe keines der Demoprogramme kompilieren können. Nichtmal das, was als ProjectBuilder (Apple C IDE) Projekt dabei war. Jemand, der sich etwas besser mit wxWidgets auskannte, konnte mir leider auch nicht helfen, also nehme ich doch lieber das, was in der Abteilung benutzt wird, dann kann ich mir wenigstens sicher sein, dass es da dann auch problemlos laufen wird. Allerdings merke ich halt gerade, dass sich die GUIs doch nicht so ohne Weiteres zusammenklicken lassen, daher bräuchte ich eben ein paar nette kleine Einführungen mit MFC, sowas muss doch jemand haben, für Java / Swing gibt's doch zig tolle Sachen…

Verfasst: 12.05.2004, 08:34
von max_power
Das hier scheint hilfreich zu sein. Sind zwar nur die ganz einfachen Grundlagen für MFC mit Visual C++ und in einem hässlichen „Design“ ;) , aber das könnte genau die Hilfe sein, die mir gefehlt hat. Wenn ich mich etwas näher damit beschäftigt habe, melde ich mich noch mal.
http://www.henkessoft.de/inhalt.htm

Verfasst: 12.05.2004, 10:52
von Zoldoron
Wenn man sich etwas in MFC / Visual C++ eingearbeitet hat, sind Oberflächen damit recht schnell erstellt. Aber ich kann den Lernaufwand privat nicht recht abschätzen, da ich das eine Zeitlang beruflich gemacht habe und mich dort einarbeiten konnte, Vollzeit.

Inzwischen würd ich für kleinere Oberflächenprogramme Perl/Tk empfehlen. Könnte daran liegen, dass ich von C++ zu Perl gewechselt bin mit meinem Broterwerb ;)

Das geht noch schneller, und der Lernerfolg am Anfang ist befriedigender.

Auch dafür gibt es "Zusammen-Klick-Oberflächen" (etwa im Editor Komodo von Activestate [nicht ganz billig...]).