Einsteigerbücher zur MFC-Programmierung
-
Ich habe zuerst mir mit Hilfe von Erhard Henkes Tutorial und der Onlineversion von Visual C++ in 21 Tagen so nen bißchen was beigebracht und mir dann auch "Programming Windows with MFC" gekauft und bin damit wirklich sehr zufrieden. Nur musst du dafür über einigermaßen ausreichende Englischkenntnisse verfügen, die deutsche Version gibt es nicht mehr zu kaufen.
-
Shlo schrieb:
Inside Visual C++ 6.0 ist ein sehr gutes Buch, aber wie gesagt für Einsteiger ist es nicht geeignet.
naja ich habe wie gesagt 1/3 vom VC++ in 21 Tagen gelesen, hälfte von einem C++ Buch und ich lese jetzt Sybex Visual C++
bin ich jetzt buchtauglich?
dh. werde ich dieses Buch verstehen?thx
-
manche sachen wirst du sicherlich verstehen, allerdings würde ich dir eher raten mit winapi anzufangen.
-
was meinst du mit winapi?
-
Winapi (Windows Application Programming Interface) ist eine Schnittstelle. mfc z.B. kapselt die Winapi
-
@maximo: http://www.henkessoft.de/api1.htm (WinAPI-Tutorial)
-
@Shlo: ich merke dass nur Bücher mit dem MFC zu lesen gibt
ich habe noch kein Buch gefunden dass sich mit WinAPI beschäftigtund ausserdem wieso mit WinAPI anfangen wenn "MFC auch ein Teil" davon ist?
Dh. wenn ich MFC lerne muss ich auch zwangsweise auch WinAPI lernen oder nicht?
-
@Shlo: ich merke dass nur Bücher mit dem MFC zu lesen gibt
ich habe noch kein Buch gefunden dass sich mit WinAPI beschäftigtund ausserdem wieso mit WinAPI anfangen wenn "MFC auch ein Teil" davon ist?
Dh. wenn ich MFC lerne muss ich auch zwangsweise auch WinAPI lernen oder nicht?
-
Wenn man gleich mit mfc anfängt, hat man später Probleme die ganze Windows Struktur d.h Messages und andere Dinge zu verstehen oder man weisst nicht wie diese überhaupt funktionieren, weil mfc diese eben "verdeckt". Wenn man (etwas) Winapi kann fällt es leichter die ganzen mfc Klassen zu verstehen. Ausserdem wenn du in Inside Visual C++ 6.0 interessiert bist - dieses Buch beinhalten viele nützliche Infos für Winapi-Programmierer. Bücher zum Thema Winapi gibts viele, schau einfach auf der Mainpage unter Bücher nach.
-
ok
ich werde deinen Rat folgen
kennt jemand ebooks/tuts?
und soll ich mir das Buch
Windows Programmierung. Das Entwicklerhandbuch.
kaufern? Ist das geeignet?
was ich noch gemerkt habe dass hier viele echt ahnung haben
woher wisst ihr das alles?
welche Bücher sollte man lesen damit man das alles weiss?danke sehr im voraus
-
Wenn du dich wirklich mit WinAPI beschäftigen willst, wirst du um den Petzold nicht herumkommen.
-
jetzt bin ich bisschen verwiirt
ich will ja mit MFC programmieren nicht mit WinAPI direktwas jetzt?
-
Für MFC ist der Petzold nicht, dafür gibts "Programming Windows with MFC" von Jeff Proise. Ich würd an deiner Stelle auch erst mal MFC machen, aber später wirst du um WinAPI nicht herumkommen. Und dann kannst du dir den Petzold kaufen.
-
wie ich aus den ganzen beiträgen resultiere muss ich eben mit Petzold anfangen
denn das ist ja sozosagen der Grundstein von der Windowsprogrammierung deshalb werde ich mir wohl das Buch zuerst kaufen müssen und dann eben mit MFC fortfahrenDanke sehr an alle die mir bei der Entscheidung geholfen haben
-
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.