Einsteigerbücher zur MFC-Programmierung
-
Bezüglich der Windows-Programmierung mit WinAPI anzufangen, ist eine gute Entscheidung. Es entspricht dem Denken von innen nach außen und dem historischem Weg. Ich empfehle sogar, kleine Windows-Programme zunächst mit MASM in Assembler zu erstellen.
Lektüre z.B. hier: http://andremueller.gmxhome.de/win.html
hier einige Ausschnitte mit Windows-Funktionen:
... jmp @F szDlgTitle db "Minimum MASM",0 szMsg db " --- Assembler Pure and Simple --- ",0 @@: push MB_OK ; <== hier sieht man exakt, wie der Stack push offset szDlgTitle ; <== bezüglich der Parameterreihenfolge arbeitet push offset szMsg ; <== Bei STDCALL werden die Parameter von push 0 ; <== rechts beginnend auf den Stack gelegt call MessageBox ; <== Funktion sorgt für Stackbereinigung ; MessageBox( 0, szMsg, szDlgTitle, MB_OK )
Nur hier sieht man, dass die Parameter auf den Stack gelangen und in welcher Reihenfolge Funktionen ihre Parameter auf den Stack "pushen", was also "_stdcall" ( ist dasselbe wie WINAPI oder FAR PASCAL ) im Gegensatz zur C-Aufrufkonvention bedeutet. Die Parameter werden also von rechts nach links auf den Stack geschoben, aber natürlich nach dem LIFO-Prinzip des Stacks von links nach rechts durch die Funktion abgerufen. In Arbeit sieht man so etwas nur, wenn man Assembler proggt.
oder hier:
push 500 push hInst call LoadIcon mov wc.hIcon, eax ; Rueckgabewert nach EAX ... push IDC_ARROW push NULL call LoadCursor mov wc.hCursor, eax ; Rueckgabewert nach EAX ... push NULL push hInst push NULL push NULL push Wht push Wwd push Wty push Wtx push WS_OVERLAPPEDWINDOW push offset szDisplayName push offset szClassName push WS_EX_OVERLAPPEDWINDOW call CreateWindowEx mov hWnd, eax ; Rueckgabewert nach EAX
... und dass der Rückgabewert der Funktion in den "Akkumulator" (32-bit-Register EAX) gelangt.
Nur bei der Assembler-Programmierung macht man sich wirklich Gedanken über die Anordnung von Code, Daten und Stack im gleichen Speicherbereich (max. 4 GB).
Die "Nachrichtenpumpe" versteht man ebenfalls nur konkret auf der WinAPI-Ebene:
// Nachrichten-Schleife MSG msg; while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg); DispatchMessage (&msg); } return msg.wParam; }
Diese "Pumpe" findet man innerhalb des MFC-Sourcecodes nur mit kriminalistischem Spürsinn. Auf jeden Fall danach suchen!
Die didaktische Reihenfolge MASM (Assembler) => WinAPI => MFC (oder eine andere objekt-orientierte Bibl.) => Java oder C# ist daher für das Verständnis ideal, leider auch mühsam und aufwendig.
Das Buch von Petzold zur WinAPI ist lesenswert, da nur dort Details der Windows-Programmierung erklärt werden. Ich möchte hier auch den genialen Jeffrey Richter (eher etwas für Fortgeschrittene) nennen.
Für das Verständnis der MFC ist folgendes Buch lesenswert:
George Shepherd und Scot Wingo, "MFC Internals", Addison Wesley
Dort sieht man die Arbeitsweise der MFC von innen.
-
aha!
naja ich kann soo gut english nicht
und so tief will ich auch nicht eintauchenbis zum asm
wenn ich mit winapi anfange denke ich mir dass ich dann damit gut auskennen werde
am schluss will ich eher nur mit mfc programmieren
und wenn ich mich dann auskenne werde ich mit asm anfangen
eben das schwerste zuletzt
danke sehr
-
Das Buch kann ich auch noch empfehlen
Visual C++ 6 Kompendium, m. CD-ROM
Toth, Viktor T.; Louis, Dirk
Visual C++ 6 Kompendium, m. CD-ROM
Alle Grundlagen der 32-Bit-Programmierung mit Visual C++ und Visual Studio, Expertenwissen zu Multitasking, MFC, ActiveX, DirectX und ODBC . . .1999. 1115 S. m. Abb. 25 cm
Einband Gebunden
Verlag Markt und Technik
Best.-Nr. 7786532
ISBN-Nr. 3827254671
Preis: 44.95 EURVisual-C++-Programmierer können jetzt auch beim neuesten Update dieser leistungsstarken Programmierumgebung auf die Hilfe eines Markt&Technik-Kompendiums bauen. So erfahren Sie nicht nur alles Wichtige zu Visual-C++ an sich, sondern auch, wie Sie die neuen Feature der Version 6 z.B. bei der Internet- oder Datenbankprogrammierung sinnvoll einsetzen. Umfassende praxisnahe Informationen, aber auch theoretische Grundlagen, vermittelt in einem verständlichen Stil, sorgen für viel Motivation und Spaß beim Erlernen dieser faszinierenden und zukunftsorientierten Programmiersprache. Dabei deckt das vorliegende Arbeitsbuch und Nachschlagewerk sowohl die Besonderheiten von Visual C++ 6 als auch die Grundlagen und Tricks der Windows-Programmierung ab.
Aus dem Inhalt
- Das Visual-C++-Entwicklungssystem
- Die Windows-Architektur und die WIN32-API
- Die Microsoft Foundation Classes
- Datenbankprogrammierung: ODBC, DAO, OLE
- Netzwerk und Kommunikation: MAPI, TAPI, API
- Grafik und Multimedia: MCI, OpenGL, DirectX
- Ausführlicher Referenzteil zum schnellen NachschlagenDie Autoren
Der gebürtige Ungar Viktor Toth begann seine Karriere als Autor 1979 mit einem Buch über den legendären magischen Würfel von Rubik, lebt heute in Kanada und zählt weltweit zu den profiliertesten Computerbuchautoren.
Dirk Louis studierte Informatik und Biologie und war mehrere Jahre am Max-Planck-Institut in Saarbrücken tätig. Heute ist er selbständiger Programmierer und Autor zahlreicher erfolgreicher Programmierbücher im Markt&Technik-Verlag.Auf CD-ROM
Visual C++ 6.0 Introductory Edition (deutsch). Mit dieser Version können Sie eigene Anwendungen erstellen, die Beispielprogramme aus dem Buch nachvollziehen und sich mit der Entwicklungsumgebung von Visual C++ 6.0 vertraut machen. Dazu finden Sie alle Sourcen und Programme aus dem Buch und weitere nützliche Free- und Shareware für Programmierer.
-
super !
das wollte ich mir auch als nächstes kaufendanke sehr
@PAD: was für Bücher hast du denn schon gelesen?
Du programmierst doch in VC++?
-
Leider viel zu viele um sie hier aufzuführen.
Ich arbeite als Softwareingenieur in einer Gruppe die die Testgeräte für alle Produkte unseres Hauses (Sensoren und Geräte) herstellt.
Mein Werdegang beginnt mit Apple II 6502 Assembler, Basic, Pascal über Fortran Simula auf IBM-Mainframes hinzu Pc´s mit Forth, Borland C 2.0,..,3.1 und jetzt Windowsprogrammierung mit C und teilweise C++ je nachdem was sich besser eignet.
C zur Messdatenerfassung weil deterministischer und C++ für Windowsprogrammierung.
Zur Windowsprogrammierung kommt VC++ 6.0 typischerweise mit WinApi zum Einsatz
-
@maximo: Wichtig ist, Details zu verstehen. Deshalb finde ich den Einblick in Assembler-Programmierung nicht uninteressant. Für WinAPI gibt es vor allem die Autoren Charles Petzold und Jeffrey Richter. Das sind die Besten.
-
Erhard Henkes schrieb:
Wichtig ist, Details zu verstehen. Deshalb finde ich den Einblick in Assembler-Programmierung nicht uninteressant. Für WinAPI gibt es vor allem die Autoren Charles Petzold und Jeffrey Richter. Das sind die Besten.
Da hast du auch nicht so unrecht, das Buch von Petzold reicht mir erstmal für das Verstehen von Strukturen und Klassen etc. Es ist ziemlich detailiert beschrieben und ich will ja irgendwann damit fertig werden und nicht erst nach 5 Jahren
@PAD: sag doch nur welche Bücher du zu Win32-API und VC++ gelesen hast
Danke sehr im voraus
-
Osborne Windows Programming Series
Volume 1 to 3C&L Das Win32 API von Soltendick
Band1 bis 4Den Petzold
Den Richter
Jetzt Lerne ich Visual C++ von Dirk Louis
Visual C++ die Online Hilfe und den mitgelieferten MSDN Teil
-
was meinst du mit Den Richter ?
Ich kenne nicht alle Bücher auswendig
Bitte, nur die deutschen, am besten mit ISBN damit die ich mir auch kauf
ich will auch so klug sein wie duDanke sehr
-
Die Namen Petzold und Richter sind in diesem Thread schon gefallen
Petzold, Charles
Windows-Programmierung
5. Auflage
Microsoft Press
ISBN 3 86063 487 9
ca. € 59,90Richter, Jeffrey
Microsoft Windows Programmierung für Experten?
4. Auflage
Microsoft Press
ISBN 3 86063 615 4
@ 66.00PS: Probiers auch mal damit
http://www.henkessoft.de/inhalt.htm
-
und nur die beiden Bücher hast du zu dem Thema gelesen?
Das mit Petzold ist mir auch klar
Und was ist mit
C&L Das Win32 API von Soltendick
Band1 bis 4
das mit dem Richter, Jeffrey
4. Auflage
habe ich mir rausgesucht und es ist doch
Microsoft Windows Programmierung für Experten?nochmals danke für die Geduld
-
Sorry, ich habe die Bücher nicht gelesen.
Sondern ich arbeite mit diesen 6 Büchern ständig wenn ich Windows Programmiere.
Hinzu kommt das in VC wenn man mit dem Cursor auf eine Funktion geht und F1 drückt zu dieser Funktion ein ausführliche Hilfe von MS geliefert wird.
In dieser Hilfe gibt es auch weitere Suchmöglichkeiten die ich ebenfalls intensiv nutze.
Speziell die Punkte Index und Suchen sind sehr hilfreich
Stimmt den Titel hatte ich vergessen
-
ok
und kennst die ISBN von
C&L Das Win32 API von Soltendick
Band1 bis 4vielen dank
-
Band 1: 3932311051
Band 2: 3932311361
Band 3: 393231137X
Band 4: 3932311523
Band 5: 3932311841
-
habe alle Bänder gefunden
danke sehr!!
-
Es gibt auch gute leichtverständliche englische Einsteiger-Tutorials zur WinAPI-Programmierung, z.B. dies hier:
http://www.winprog.org/tutorial/
Wenn man leichte Probleme mit Englisch hat, kann man das kostenlose Programm Babylon verwenden. Shift+Rechte_Maus liefert dann die Übersetzung.
-
C&L Das Win32 API von Soltendick würde ich mir nicht unbedingt beschaffen, da dies in MSDN oder einer anderen Win32API-Hilfe ebenfalls enthalten ist.
-
Die Dinge sind in der MSDN nicht so sortiert das man die Zusammenhänge sieht.
Hilfreich ist auch die 1/4 Seite text die den Kapitelanfang macht.Ich durch das Durchblättern und Suchen in den Büchern oftmals erst den Einstieg gefunden, so das ich nachher in der MSDN suchen konnte.
Allerdings eines ist klar Ich habe die Bücher über mein Büro beschafft, da ich sie für meine Arbeit wirklich brauche.
Privat hätte ich sie wahrscheinlich nicht gekauft, Kosten Nutzen Relation ist da glaub ich nicht gegeben.
-
naja das mit den bändern stimmt schon dass es teuer ist
die bänder kaufe ich mir dann zu letztwer hat denn von euch die Bänder gekauft? (ausser PAD
)
danke sehr
-
in diesem forum wurden bereits sehr viele büchervorschläge diskutiert,
vielleicht kann man diese mal in der FAQ zusammenfassen ????