9 Stimmen

Windows GUI C++ Programmierung

Ich möchte die GUI-Programmierung in C++ mit Visual Studio 2008 erlernen. Ich bin mir aber nicht sicher, wo ich anfangen soll. Ich habe C++ in der High School gelernt, aber nicht GUI. Ich mache jetzt seit etwa 3 Jahren C# und habe so die GUI-Programmierung "gelernt". Jetzt möchte ich lernen, wie man GUIs ohne die Verwendung des .NET-Frameworks schreibt, also wo soll ich anfangen?

8voto

BobbyShaftoe Punkte 27949

Charles Petzolds "Programming Windows 5th Edition" ist die Bibel für die Windows-Programmierung.

http://www.charlespetzold.com/pw5/

1 Stimmen

Die Bibel! Die Lektüre von Petzolds Büchern ist ein Muss, nicht nur um direkt mit der Win32-API zu entwickeln (was seine Vor- und Nachteile hat - ich ziehe es allerdings der MFC vor), sondern auch um zu verstehen, wie Windows unter der Haube funktioniert.

8voto

Nicholas Piasecki Punkte 24537

Da Sie sagen, dass Sie seit etwa 3 Jahren GUI-Programmierung in C# betreiben, gehe ich davon aus, dass Sie Windows Forms meinen. Eine Möglichkeit, Ihren Zeh ins Wasser zu tauchen ist, sich daran zu erinnern, dass WinForms ist wirklich nur eine objektorientierte Wrapper um user32 . Laden Sie also Reflector und schauen Sie sich an, wie einige der Steuerelemente implementiert sind. Sie werden sehen, dass diese seltsamen Meldungen wie WM_PAINT y WM_KEYDOWN werden in den WndProc der verschiedenen Steuerelemente von Windows. In der einfachen alten Win32- oder MFC-Programmierung läuft das Gleiche noch immer ab. Wenn Sie dies tun, können Sie langsam die Schichten der Zwiebel abziehen; Sie werden auch ein besseres Gefühl dafür bekommen, wie Windows Forms funktioniert. Von dort aus würde ich empfehlen, dass Sie sich Programmierung von Fenstern von Petzold; es ist alt, aber die nativen APIs in Windows bewegen sich nicht que viel. Viel Spaß!

7voto

anand Punkte 10753

MFC ist inzwischen fast veraltet. Ich würde empfehlen, stattdessen WTL zu verwenden.

Es ist auch keine gute Idee, mit der GUI-Programmierung in C++ zu beginnen, wenn es so viele gute Frameworks wie das plattformübergreifende QT-Framework gibt.

5voto

Einige ketzerische Meinungen...

Ich würde C++ nicht empfehlen, um komplexe Windows-GUIs zu schreiben - Sprach-/Bibliothekskombinationen wie C# oder Delphi sind viel produktiver. Wenn Sie in die C++-Programmierung einsteigen wollen, würde ich vorschlagen, damit einen Multi-Thread-Server zu schreiben - ein einfacher Webserver würde für den Anfang reichen.

Und wenn Sie die zugrundeliegenden Windows-APIs wirklich verstehen wollen, spricht meiner Meinung nach einiges dafür, eine einfache Anwendung (z. B. eine vereinfachte Version von Notebook) in C (nicht C++) zu schreiben. Sie werden es nur einmal machen wollen, aber Sie werden dabei eine Menge lernen.

Und bevor jemand anfängt, wütend abzustimmen, möchte ich sagen, dass ich seit über 20 Jahren C++-Programmierer bin und diese Sprache wirklich liebe.

1 Stimmen

Nein, ich stimme völlig zu. Es lohnt sich für das "OH - so funktioniert es also" und für das "OH - deshalb gibt es eine Billion Verpackungen dafür" und für das "OH - deshalb machen wir es nicht mehr so." =)

2voto

Glenn Punkte 7588

Wäre es für Sie in Ordnung, GUIs in VC++ mit Microsoft Foundation Classes oder MFC zu schreiben? Das ist die Art und Weise, wie ich in der Vergangenheit VC++-GUIs geschrieben habe und schreiben würde.

Im Laufe der Jahre sind viele Bücher über MFC geschrieben worden. Ich bin sicher, dass jedes von ihnen gut geeignet ist. Vielleicht finden Sie in der Literatur die Referenz ATL, eine Microsoft-Iteration von STL. MFC und ATL sind im Laufe der Jahre verschmolzen, so dass alles, was ATL ist, heutzutage auch für eine MFC-Anwendung anwendbar ist.

Viel Glück und viel Spaß!

0 Stimmen

Meiner Meinung nach ist das definitiv der richtige Weg.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X