Windows Programm mit C / C++
lima-city → Forum → Programmiersprachen → C/C++ und D
aktion
anwendung
arbeiten
benutzer
buchen
code
einstieg
entwicklung
http
internet
jemand
machen
programm
programmieren
programmierung
signal
studio
system
url
windows
-
hallo!
ich programmiere schon ein wenig mit Konsolen, doch ich wollte mal ein programm entwickeln, welches ein richtiges Interface hat --> ne windows anwendung. Jetzt sind aber die Befehle anders usw, und ich begreiff einfach nicht wie das gehen soll... kennt jemand ne gute website? oder kann mir das grad jemand hier erklaeren?
vielen dank -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
mit was möchtest du denn arbeiten?
ich persönlich habe in die GUI entwicklung meinen einstieg mit der VCL gehabt. jetzt meckern vllt viele wie ich drauf komme werbung für sowas zu machen, aber einfacher geht der einstieg niemals! ob du den Borland C++ builder allerdings so schnell irgendwo herkirgest weiß ich nicht, bei mir war er in meinem ersten C++ buch dabei :-S
aber etwas was ich dir zum einfachen GUI entwicklungseinstieg verraten kann: QT. das framework ist genial! ich arbeite seit einigen wochen damit, weil ich im in einem labor an einer userschnittstelle zu einem spektrometer arbeiten soll, und mit QT wurde das angefangen, und es ist mega einfach! und das genialste: es ist cross plattform.
QT hat zudem sehr viele tutorials im internet, und ist so einfach zu bedienen und entdecken! am besten du lädst dir wie ich das SDK runter, das ist ein komplettpaket. hier wäre der link:
http://qt.nokia.com/downloads/
nimm die LGPL (die andere ist glaub cih bezahlen) und dann wähle das oberste: windows SDK. hier gibt es natürlich auch integrationsmöglichkeiten in visualstudio 2008 und eclipse, wenn dir das lieber ist. hier musst du dann aber mehr coden (was genauso leicht ist).
also QT oder die VCL wären meiner meinung nach der einfachste um positiv in die GUI entwicklung einzusteigen, eher QT (ist umfangreicher und mächtiger, erfordert aber einarbeitungszeit, dafür gibts ne bessere doku + tutorials)
oder womit arbeitest du bisher oder sonst? -
Hallo ahref2,
als kleinen Einstieg in die Windows-Programmierung kann ich Dir die folgende Seite empfehlen:
theForger's Win32 API Programming Tutorial
Das ist ein gutes Tutorial, dass die notwendigen Grundlagen zur GUI-Programmierung enthält.
Alternativ (und sofern Du C++ machst) kannst Du Dir auch QT anschauen, dazu gibt es auch ein schönes Tutorial.
Da Du bisher nur Konsolenprogramme geschrieben hast will ich Dir auch gleich den größten Unterschied zu GUI-Anwendungen erklären:
EIn Konsolenprogramm hat meistens ein serielle Struktur, d.h. das Programm wird gestartet, wartet evtl. auf eine Eingabe, macht dann irgendwas und beendet sich dann.
Eine GUI-Anwendung funktioniert da etwas anders. Diese baut zuerst die Oberfläche zusammen, zeigt sie an und übergibt die Kontrolle dann an das System. Immer, wenn der Benutzer etwas macht, z.B. mit der Maus klickt oder eine Taste auf der Tastatur drückt, weckt das System das Programm wieder auf und teilt ihm mit, was gerade passiert ist. Wenn du mit Win32 API programmierst, dann passiert dieses Mitteilen über Messages, das ist im ersten Tutorial genauer beschrieben. In QT wird das über Signals gelöst, woanders wird sowas meistens als Event bezeichnet.
Deine Aufgabe ist es dann auf diese Messages/Signals/Events zu reagieren, d.h. man schreibt für jedes Ereignis, auf welches man reagieren will, eine Funktion, die dann irgendetwas macht. Z.B: Benutzer drückt einen Button -> Funktion zeigt eine Message Box mit dem Text 'Hallo'
-
Mit Visual Studio kannst du Windows-Anwendungen mit einer GUI programmieren, was ich persönlich allerdings recht kompliziert finde. Im Internet gibt es einige Frameworks mit welchen du GUI relativ einfach programmieren kannst.
Ich selbst habe vor kurzem unter C++ begonnen mit der GUI-Programmierung. Dabei verwende ich wxWidgets. Die ist ein OpenSource Framework welches auch zu kommerziellen Zwecken genutzt werden darf und plattformunabhängig ist. Auf dieses Framework wurde ich aufmerksam als ich mir das Buch "C++ von A bis Z - Das umfassende Handbuch" gekauft hatte und es mal durchgelesen habe. In diesem Buch werden auch die Grndlagen von wxWidgets erklärt sowie ein kleines Beispielprojekt entwickelt (Texteditor). Im Internet findest du viele Tutorials und auch eine sehr umfangreiche Dokumentation (ich finde sie im Moment nicht werde sie aber noch posten). Die Installation von wxWidgets ist jedoch sehr kompliziert und zeitraubend. Ich bin gerade dabei eine Installationsanleitung für wxWidgets in Visual Studio zu schreiben. Falls du dich also für wxWidgets entscheidest kannst du dich ja bei mir melden, falls du Probleme bei der Installation hast.
wxWidgets wird auch bei einigen bekannten Programmen verwendet wie zum Beispiel VLC Media Player oder FilleZilla.
Ob wxWidgets in der Handhabung besser als Qt ist weiss ich nicht da ich mit QT noch nie gearbeitet habe aber ich finde jeder muss für sich das beste finden.
wxWidgets findest du hier: http://www.wxwidgets.org/
Das Buch findest du hier: http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-2156?GalileoSession=47747025A4.gb3.dL5Y
Gruß S.Brosch -
Vielen Dank!
aso ich durschaue das ganze immer noch nicht richtig...?? Was ist jetzt genau ein framework (sorry wenn das daemmlich klingt :D )
@darkpandemic: Ja sowas hab ich gesucht, gibst das aber auch in DE (mein englisch ist eigentlich ganz gut, doch so komlizierte texte auf englisch sind dann doch ein bisschen zuuuuu schwer -
n framework ist quasi ein großes ganzes, das als rahmen für dein kunstwerk gilt, aus dem du dich dann der möglichkeiten bedienst. QT ist hier glaub ich das beste beispiel:
es gibt nicht nur die GUI formen. also nicht nur QWidget, QListWidget, usw, sondern du hast hier auchnoch eigene datentypen: QString, QMap, QList. es bietet dir somit im rahmen des ganzen die möglichkeit mit internen objekten und datentypen zu arbeiten.
ein framework ist also etwas wo du dir die komponenten aus einer lib nimmst die du brauchst. und diese komponenten musst du nurnoch nutzen, und nichtmehr selbst herstellen (wie die farbe bei einem bild)
wxWidgets ist übrigens auch nett, nen kumpel hat damit gecodet, und es ist auch gut zu lernen, schaus dir auch mal an. ich persönlich steig da nicht so schnell durch wie durch QT^^der VLC mediaplayer ist mitlerweile übrigens nichtmehr mit den wxWidgets geschrieben, sondern in QT war aber mal.
das besondere ist bei der GUI entwicklung dass du eben wirklich keinen festen programmablauf mehr hast. bei QT hast du zb nurnoch weniges in der main stehen, sie könnte so aussehen:
#include <QtGui/QApplication> #include "mainwindow.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); }
und damit wir ddas komplette programm gesteuert. im hintergrund verbindest du dann nurnoch die SIGNALS mit den SLOTS, also quasi aktionen vom user mit aktionen im programm die dann passieren sollen. wenn du C++ in console schreibs hast du ja eher so einen skriptablauf, also von oben nach unten, das ist bei den GUI entwicklungen garnichtmehr der fall.
das ist die umstellung die man leider haben muss -
Hallo ahref2,
in deutsch gibt es z.B. das hier:http://www.pronix.de/pronix-1023.html
Aber mit der Zeit wirst Du Dich an Englisch gewöhnen müssen, da es Dir beim Programmieren öfters passieren kann, dass Tutorials und Dokumentationen nur auf Englisch vorliegen.
Und wenn Du mit Google suchst einfach "Win32 api tutorial" eingeben, da findet man noch einiges.
-
oke vielen dank an euch alle :D
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage