C++ Frage zu GUIs mit MFC (Visual C++ / Tutorials)
- max_power
- Zombiepirat
- Beiträge: 10065
- Registriert: 16.04.2002, 20:30
- Wohnort: Uppsala
- Kontaktdaten:
C++ Frage zu GUIs mit MFC (Visual C++ / Tutorials)
Ä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.
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.
„Es müsste immer Musik da sein, bei allem was du machst. Und wenn's so richtig Scheiße ist, dann ist wenigstens noch die Musik da. Und an der Stelle, wo's am allerschönsten ist, da müsste die Platte springen und du hörst immer nur diesen einen Moment.“ (Floyd, Absolute Giganten)
- Martin Lassahn
- Süßwasserpirat
- Beiträge: 436
- Registriert: 29.04.2003, 22:07
- Wohnort: Mettmann
- Kontaktdaten:
Re: C++ Frage zu GUIs mit MFC (Visual C++ / Tutorials)
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.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.
- max_power
- Zombiepirat
- Beiträge: 10065
- Registriert: 16.04.2002, 20:30
- Wohnort: Uppsala
- Kontaktdaten:
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?
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?
„Es müsste immer Musik da sein, bei allem was du machst. Und wenn's so richtig Scheiße ist, dann ist wenigstens noch die Musik da. Und an der Stelle, wo's am allerschönsten ist, da müsste die Platte springen und du hörst immer nur diesen einen Moment.“ (Floyd, Absolute Giganten)
-
- Rätselmeister
- Beiträge: 2219
- Registriert: 11.06.2002, 18:22
- Wohnort: gone (forever)
- Kontaktdaten:
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.
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.
Wer Ironie oder beleidigende Inhalte in diesem Beitrag findet, darf sie behalten.
http://www.thwboard.de | http://oph-qfb.sourceforge.net
http://www.thwboard.de | http://oph-qfb.sourceforge.net
- Martin Lassahn
- Süßwasserpirat
- Beiträge: 436
- Registriert: 29.04.2003, 22:07
- Wohnort: Mettmann
- Kontaktdaten:
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....
Da es eine Verwandtschaft mit Delphi hat, wird es don wohl verteufeln....
- max_power
- Zombiepirat
- Beiträge: 10065
- Registriert: 16.04.2002, 20:30
- Wohnort: Uppsala
- Kontaktdaten:
Wäre dann wohl genau das Richtige für mich.gardener hat geschrieben:Da es eine Verwandtschaft mit Delphi hat
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.
„Es müsste immer Musik da sein, bei allem was du machst. Und wenn's so richtig Scheiße ist, dann ist wenigstens noch die Musik da. Und an der Stelle, wo's am allerschönsten ist, da müsste die Platte springen und du hörst immer nur diesen einen Moment.“ (Floyd, Absolute Giganten)
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.)
(Obwohl ich Delphi mag, gefällt mir der Builder deswegen nicht so...zu viel rumgehacke am C++-Standard, um Delphi ähnlicher zu sein.)
- Martin Lassahn
- Süßwasserpirat
- Beiträge: 436
- Registriert: 29.04.2003, 22:07
- Wohnort: Mettmann
- Kontaktdaten:
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.
EDIT: Abgesehen davon ist der Builder auch nicht kostenlos. Zwar nicht sooo teuer, aber für Privatanwender zum Rumspielen überteuert.
- max_power
- Zombiepirat
- Beiträge: 10065
- Registriert: 16.04.2002, 20:30
- Wohnort: Uppsala
- Kontaktdaten:
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.
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.
„Es müsste immer Musik da sein, bei allem was du machst. Und wenn's so richtig Scheiße ist, dann ist wenigstens noch die Musik da. Und an der Stelle, wo's am allerschönsten ist, da müsste die Platte springen und du hörst immer nur diesen einen Moment.“ (Floyd, Absolute Giganten)
-
- Rätselmeister
- Beiträge: 2219
- Registriert: 11.06.2002, 18:22
- Wohnort: gone (forever)
- Kontaktdaten:
die VCL benutzt übrigens teilweise wxWidgets
http://wiki.wxwidgets.org/wiki.pl?MSVC_Setup_Guide <- das solltest du lesen. wxWidgets ist imho sehr intuitiv, ganz im gegensatz zu qt.
http://wiki.wxwidgets.org/wiki.pl?WxWid ... r_ToolkitsThe latest version of Borland's C++ Builder uses wxWidgets. !
http://wiki.wxwidgets.org/wiki.pl?MSVC_Setup_Guide <- das solltest du lesen. wxWidgets ist imho sehr intuitiv, ganz im gegensatz zu qt.
Wer Ironie oder beleidigende Inhalte in diesem Beitrag findet, darf sie behalten.
http://www.thwboard.de | http://oph-qfb.sourceforge.net
http://www.thwboard.de | http://oph-qfb.sourceforge.net
- max_power
- Zombiepirat
- Beiträge: 10065
- Registriert: 16.04.2002, 20:30
- Wohnort: Uppsala
- Kontaktdaten:
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…
„Es müsste immer Musik da sein, bei allem was du machst. Und wenn's so richtig Scheiße ist, dann ist wenigstens noch die Musik da. Und an der Stelle, wo's am allerschönsten ist, da müsste die Platte springen und du hörst immer nur diesen einen Moment.“ (Floyd, Absolute Giganten)
- max_power
- Zombiepirat
- Beiträge: 10065
- Registriert: 16.04.2002, 20:30
- Wohnort: Uppsala
- Kontaktdaten:
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
http://www.henkessoft.de/inhalt.htm
„Es müsste immer Musik da sein, bei allem was du machst. Und wenn's so richtig Scheiße ist, dann ist wenigstens noch die Musik da. Und an der Stelle, wo's am allerschönsten ist, da müsste die Platte springen und du hörst immer nur diesen einen Moment.“ (Floyd, Absolute Giganten)
- Zoldoron
- Rätselmeister
- Beiträge: 2072
- Registriert: 23.11.2003, 14:33
- Wohnort: Bielefeld
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...]).
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...]).
Die Straße gleitet fort und fort, weg von der Tür wo sie begann,
weit überland von Ort zu Ort, ich folge ihr so gut ich kann.
weit überland von Ort zu Ort, ich folge ihr so gut ich kann.