windows programmierung
-
hallo leute,
ich habe angefangen c++ zu erlernen und würde jetzt gerne anfangen windows-ähnliche programme zu programmieren.
brauch ich dafür noch extra programme??
wenn ja, welches ist das einfachste oder beste??
muss ich da auf meinen compiler achten?? (ich arbeite mit dev c++ 4)bitte antwortet schnell
schönen gruß
wünsch
-
Naja du kannst mit MFC recht leicht Windowprogramme machen.
Gibts au nen i-Book visual c++ in 21 Taggen link weiß ich grad nimmer
Oder wenn du ein ganz harter bist kannst au mit winAPI programmieren
Kannst grad mal in die entsprechenden Foren hier guken
-
Hmm... ein paar Tips & Ratschlaege
1. lern ORDENTLICH C++ bevor du irgendwelche Grafischen Oberflaechen machst. Das bedeutet: schreib ein paar Konosolenprogramme (auch aufwendigere!) und entwickel deinen Programmierstil. Gleich nach den Grundlagen mit GUIs (Graphical User Interfaces) anzufangen tut dir nicht gut. (Ich persoenlich wuerd sagen: mindestens 1 Jahr lang intensiv Konsolen, auch wenn's bitter ist... es wird dann alles viel leichter von der Hand gehen)
2. Lern nicht MFC. MFC ist veraltert und wird nicht mehr weiterentwickelt. Und das e-Book, das er gemeint hat, ist a) schlecht und b) nicht fuer deinen Compiler geeignet.
3. es gibt mehrere Moeglichkeiten, GUIs zu schreiben. Besser gesagt: es gibt mehrere Libraries (das sind Sammlungen - "Bibliotheken" - von vorgefertigten Funktionen, Klassen etc.), mit denen man sowas machen kann:
- Unter Windows ist die grundlegendste dieser GUI-APIs (Application Programming Interface) die WinAPI. Alle anderen APIs bauen darauf auf. Die WinAPI ist ziemlich komplex (deshalb wurden ja auch andere APIs entwickelt, die darauf aufbauen und sie vereinfachen), unuebersichtlich und was den Programmierstil betrifft grottenhaesslich. Gleichzeitig aber auch sehr maechtig - ein echtes Monster eben. Vorteil: WinAPI ist die einzige, die auf dem Dev-C++ kompilierbar ist, ohne dass du noch irgendwas machen musst.
- die MFC ist ein C++ - Wrapper der WinAPI. Sie kommt, wie die WinAPI selber von Microsoft. Auch die MFC ist ziemlich alt und (fuer heutige Verhaeltnisse) schlecht designed. MFC kannst du - soweit ich weiss - nur mit dem Microsoft Visual Studio programmieren.
- die VCL ist eine Bibliothek von Borland, und zusammen mit dem Borland C++ Builder 6 (BCB) erhaeltlich. Wenn du nach der EINFACHSTEN Moeglichkeit suchst: das ist sie! Der BCB enthaelt ein RAD-Tool (
Rapid Application Development), d.h. du kannst dir Oberflaechen recht einfach zusammenklicken wie z. B. bei Visual Basic. Aber ansonsten ist der BCB6 ziemlich veraltert, und es gibt bereits neue Versionen des BCB ohne die VCL (z. B. den "Borland C++ Builder X"). Wenn du ihn kaufst, musst du also unbedingt darauf achten, den 6er zu kaufen... er sollte mittlerweile ziemlich billig sein. Der Compiler im BCB6 ist allerdings auch nicht mehr der allerneuste. - Das Visual Studio ab Version 7 enthaelt managedC++. Damit kannst du Oberflaechen wie mit C# schreiben. Aber ich hab noch nicht ein gutes Wort darueber gehoert. Wenn du also mit den Winforms (so heisst die GUI-Library von C#) Oberflaechen schreiben willst, dann lern besser C#.
- Der oben kurz erwaehnte BCB X enthaelt keine VCL mehr, sondern soll in Zukunft mit der wxWidgets-Library ausgeruestet werden. wxWidgets ist eine Library, die nicht nur auf Windows, sondern auch auf Linux, Mac usw. laeuft, aber dabei immer so aussieht, als waere sie fuer das aktuelle Betriebssystem geschrieben worden
. wxWidgets ist gratis (mehr noch: OpenSource!), und du kannst es dir z. B. von www.wxwidgets.com runterladen. Fuer den Dev-C++ gibts aber eigene DevPaks irgendwo im Netz, damit ist die Installation _wesentlich_ einfacher (hier gibts z. B. eines: http://www.upcase.de/devpack.html
Das "MinGW-Studio", eine Freeware-IDE wie Dev-C++, kannst du dir ausserdem in einer speziellen Version inklusive bereits integrierter wxWidgets-Library runterladen (http://www.parinya.ca). Nachteil von wxWidgets: es gibt keine GUI-Designer, d.h. du musst dir alles selber zusammenprogrammieren, nix mit "mit Maus zusammenklicken".
- die Qt-Library ist besonders unter Linux bekannt, laeuft aber auch unter Windows (wird z. B. von dem Webbrowser Opera oder von Adobe benutzt). Unter Windows ist nur eine sehr alte Version gratis, die noch dazu nur mit dem VC 6 funktioniert. Fuer alles andere musst du zahlen... Offizielle Homepage: www.trolltech.com
- gtkmm (www.gtkmm.org) ist die Library, mit der ich momentan arbeite (oder besser: die ich momentan lerne). Sie ist - und die Meinung ist weitverbreitet - die am besten designte Library von allen. Urspruenglich fuer Linux entwickelt (und ist OpenSource), aber laeuft mittlerweile auch auf Windows. Ist aber nicht ganz leicht einzurichten (du findest eine Installationsanleitung in der Dokumentation auf der offiziellen Homepage).
Es gibt noch einige andere "GUI-Libraries", wie z. B. das "Fox-Toolkit" oder FLTK, aber die oben aufgezaehlten sind bei weitem die bekanntesten (Hoff ich hab nichts ausgelassen
).
Das "beste" Toolkit gibts wohl nicht, das "einfachste" ist wie oben gesagt IMO die VCL. Dafuer musst du dir aber den BCB 6 kaufen. Andere Libraries, wie z. B. wxWidgets oder GTKmm sind gratis, dafuer aber manchmal etwas verzwickter. Sorry, deine Frage, was du lernen sollst, kann leider nicht eindeutig beantwortet werden
-
Bitte in eine FAQ für Window-Toolkits!
-
Was auch möglich wäre:
Kannst du zufällig VB 6?
Das bietet doch schon so einiges an GUI komponenten und da musst du nur sehr wenig Programmieren. Also zumindest für eher einfache Programme kannst du#s somachen. (Man soll GUI und Programmlogik eh trennen) du schreibst dein Programm in C++, packst es in eine DLL (ich glaub die müssen irgendiwe spezielle für VB gemacht werden, irgendwas war da, wenn du VB 6 kannst kann ich ja mal im VB 6 Buch von M. Koffler nachschlagen). Dann klickst du dir ne GUI im VB editor zusammen und programmierst ein bissl herum wenn nötig.
Noch kann ich C++ nciht wirklich, fange erst damit an. Aber ich hab früher VB 6 Programmiert und das könnte ich mir vorstellen. Es ist nicht schwer mit VB 6 auf die Win API (die ja in C geschrieben ist) oder irgendwelche Librarys die in C/C++ geschrieben sind zuzugreiffen. Nur umgekehrt gehts nicht(oder doch?)
Es gibt zwar auch schon Vb.net, aber damit hab ich mich nicht beschäftigt. Soweit ich weiss ist das jetzt endlich völlig Objektorientiert usw.
Greets, Painkiller
-
Hi,
eine Bibliotek will ich noch hinzufügen:
- VCF (Visual Component Framework), ist eine C++-Bibliotek zur Erstellung von GUI-Anwendungen. Es ist genauso wie gtkmm in sehr gutem C++ geschrieben, verwendet Namespaces, Templates, Exceptions...
Der Vorteil gegenüber gtkmm: Mit VCF kann man sowohl GUI-Anwendungen Programmieren, als auch Threads nutzen, und (erweiterte) RTTI ist auch mit dabei. Du kannst auch z.B. nur den GUI-Teil nutzen, weil VCF keine monolitische Bibliotek ist. Außerdem ist es sehr einfach zu installieren (auf Windows - im Gegensatz zu gtkmm), und kann auch mit dem VS 6 genutzt werden (auch: gcc unter Linux, VS 7.1 unter Windows, MinGW unter Windows).
Auch RAD ist vorgesehen: Es gibt sogar schon eine Alpha eines Tools namens VCF-Builder.
Homepage:http://vcf.sourceforge.net/
- VCF (Visual Component Framework), ist eine C++-Bibliotek zur Erstellung von GUI-Anwendungen. Es ist genauso wie gtkmm in sehr gutem C++ geschrieben, verwendet Namespaces, Templates, Exceptions...
-
ich würde niemals nicht einem Anfänger raten gtkmm zu nutzen. Die vorhandene Dokumentation ist dafür einfach nicht ausreichend.
-
icke schrieb:
ich würde niemals nicht einem Anfänger raten gtkmm zu nutzen. Die vorhandene Dokumentation ist dafür einfach nicht ausreichend.
einem Anfaenger wuerd ich gar nicht zu einer GUI-API raten