Einsteigerbücher zur MFC-Programmierung



  • @Shlo: ich merke dass nur Bücher mit dem MFC zu lesen gibt
    ich habe noch kein Buch gefunden dass sich mit WinAPI beschäftigt

    und 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 direkt

    was 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 fortfahren

    Danke 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 eintauchen 🙂 bis 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 EUR

    Visual-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 Nachschlagen

    Die 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 kaufen

    danke 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 3

    C&L Das Win32 API von Soltendick
    Band1 bis 4

    Den 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 du 🙂

    Danke 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,90

    Richter, Jeffrey
    Microsoft Windows Programmierung für Experten?
    4. Auflage
    Microsoft Press
    ISBN 3 86063 615 4
    @ 66.00

    😮 😮

    PS: 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 4

    vielen dank


Anmelden zum Antworten