Wie lerne ich am besten Windowsprogrammierung?
-
Hi,
wollte mit der Windowsprogrammierung beginnen, leider find ich kein gutes Tutorial, alle fangen irgendwie mitten drin an. Der C/C++ Syntax ist mir bekannt. Meine IDE ist Visual C++ 2005...
Hab schon gegoogelt fuer die netten Leute die nur gidf.de oder so posten ;), aber wie gesagt die fangen nicht bei 0 an...
-
Ist ja auch kaum was zu finden

http://www.google.de/search?hl=de&q=c%2B%2B+winapi+tutorial&btnG=Suche&meta=
-
ja wie gesagt die fangen nicht am anfang an sondern irgendwo mittendrin
-
Nein, die fangen schön brav am Anfang. :p
-
Außerdem hast du gesagt, dass du die C++-Syntax kennst. Andererseits sagst du, dass die Tutorials irgendwo in der Mitte anfangen. Darauf lässt sich doch schliessen, das du die C++-Syntax so gut wie garnicht kennst. Oder Irre ich mich da?
http://tutorial.schornboeck.net/inhalt.htm
-
Warum kaufst du dier nicht das Buch Windowsprogrammierung von Petzold? Kostet "nur" 30 euro damit bleiben aber keine Fragen offen. Wenn du kein Buch kaufen willst suche mal in google nach "theForger's Win32 API Tutorial".
CU
-
danke euch schonmal...
-
Also neben dem Petzold und dem Forger gibt es noch so einiges:
http://www.win-api.de/tutorials.php?SessID=bee1bda932d70d7e20d4cc14c9c80fd2&SessID=bee1bda932d70d7e20d4cc14c9c80fd2
http://www.henkessoft.de/C++/WinAPI/WinAPI Kapitel 1 bis 6/api1.htm
http://www.henkessoft.de/C++/WinAPI/WinAPI_GDI/WinAPI_7_GDI.htmWenn Du die MFC einsetzen willst:
http://www.henkessoft.de/C++/MFC/MFC Tutorials.htm (zwar noch altes Tool beschrieben, aber leicht umsetzbar auf die neue IDE)
-
was empfehlt ihr wie man am besten anängt, mit MFC oder WINApi?
-
Wenn Du die C++-Syntax nicht kennst, wie WiredCoder festgestellt hat, ist MFC nicht zu empfehlen. Da ist C++ nämlich unabdingbar. Also ist wohl eher WinAPI angesagt.
-
Fange einfach mit WinAPI an. Es kann nichts schaden, die wesentlichen Ideen der klassischen Windows-Programmierung kennen zu lernen, z.B. Nachrichtenpumpe und Ereignisbehandlung. Für komplexe Programme ist WinAPI allerdings sehr anspruchsvoll, allerdings auch voll transparent.
-
den syntax kenn ich aus der schule, hatte jetzt ein jahr C, hab bisher nur konsolenprogramme geschrieben und nie was fuer Windows, also die Begriffe wie DWORD usw sind mir absolut neu, weis ja nicht ob das auch zum Grundsyntax zählt...
Ich will ja nicht unbedingt GUI-Programme schreiben, zumindest am Anfang nicht, mir reichen auch erstmal Konsoleprogramme, die eben irgendwelche Regestrywerte ändern usw, aber leider gehen fast alle Tutorials auf GUI hinaus...
Was ich bei Visual C++ 2005 nicht verstehe ist, warum wenn ich ne Form hinzufüge und dann auf nen Button doppelklicke das dann eine headerdatei erstellt wird und nicht alles in einer datei gespeichert wird...
-
Zuerst solltest Du Dir klar mache, daß C != C++ ist. C ist keine OOP-Sprache, auch, wenn sich mit etwas Trickserei OOP realisieren läßt. Daher sind WinAPI-Programme einiges Schreibintensiver als MFC, weil Du nicht auf Containerklassen zurückgreifen kannst. Dafür ist WinAPI- wie schon gesagt, wesentlich transparenter und für Prozedur-Progger leichter zu verstehen.
DWORD und UINT etc. sind Definitionen, die vor allem in der WinAPI verwendet werden. Sie gehen aber per #define von bestehenden Variablendefinitionen aus:
#define unsigned int UINT
#define double word DWORD.usw. Diese Defines stehen in der Windows.h-Datei.
Was Du da bei VC++ 2008 machst, ist bereits das Erstellen von GUI-Resourcen (Eingabe- und Auswahlfelder, Listenfelder o. ä.). Das ist eigentlich schon höherer Lernstoff. Dabei wird eine Header-Datei (meistens Resource.h genannt) eingebunden, die die IDs der Resourcen enthält. Um das zu verstehen, solltest Du auf jeden Fall eines der verlinkten Tutorials durcharbeiten.
Tatsache ist also, daß nicht die Tutorials die Anfangsschritte überspringen, sondern Du selbst.

-
ja ok ist mir schon klar, danke euch trotzdem, ich wüsste jetzt trotzdem gerne ob man in VisualC++2005 auch alles in einem Quellcode programmieren kann, ich finde das wesentlich einfacher für den Anfang
-
Prinzipiell geht das schon, ist aber ziemlich umständlich und unflexibel. Außerdem kannst Du im Quelltext nur Fenster erstellen, Bitmap-Ressourcen (Icons, Schaltflächen, Symbolleisten o. ä.) kann der Quelltext-Compiler nicht entschlüsseln.
Resourcen sind Dateien mit anderem Format (Skripte), die mit einem eigenen Compiler (Resourcen-Compiler) umgesetzt und dann mit dem Linker in das eigentliche Programm eingebunden werden. Das mag Dir jetzt am Anfang umständlich erscheinen. Wenn Du mal in der Materie etwas sattelfester bist und größere Sachen proggen willst, wirst Du die Vorteile erkennen.Der Umgang mit Resourcen wird hier sehr gut erklärt: