buch noch aufm dem akutellen stand?



  • ich programmiere seit einiger zeit in c und will mich nun an die grafische oberflächen wagen. Dazu würde ich gerne folgendes buch kaufen:

    Windows-Programmierung: Das Entwicklerhandbuch zur WIN32-API von charles Petzold.

    die bewertungen fallen ganz gut aus, doch ist das buch noch aktuell, denn es wurde ja bereits vor 9 jahren veröffentlicht. oder gibt es bessere quellen??



  • Das Buch ist auch heute noch am besten geeignet für die WinAPI.



  • Soviel hat sich meines Eindrucks nach nicht getan.
    Wenn du nebenher die MSDN-Seite im Browser geladen hast und da bei Unklarheiten nachschaust, solltest du mit dem Buch sehr gut zurecht kommen und musst dir auch keine Sorgen über "veraltetes Wissen" machen...



  • Den Petzold gibt es schon länger als 9 Jahre. Dennoch ist er als Einstieg und zum Verständnis der WinApi immer noch bestens geeignet. Es wird aber nur die elementare C-Schnitstelle zur WinApi beschrieben. Mit Programmieroberflächen wie MFC oder VCL hat Petzold nichts am Hut. Besorge dir den Petzold, du kannst ihn gebrauchen, auch später!



  • Es scheint nicht ganz aktuell zu sein...

    Es steht:

    The WM_PAINT Message
    Most Windows programs call the function UpdateWindow during initialization in WinMain shortly before entering the message loop. Windows takes this opportunity to send the window procedure its first WM_PAINT message. This message informs the window procedure that the client area must be painted. Thereafter, that window procedure should be ready at almost any time to process additional WM_PAINT messages and even to repaint the entire client area of the window if necessary. A window procedure receives a WM_PAINT message whenever one of the following events occurs:

    A previously hidden area of the window is brought into view when a user moves a window or uncovers a window.

    The user resizes the window (if the window class style has the CS_HREDRAW and CW_VREDRAW bits set).

    The program uses the ScrollWindow or ScrollDC function to scroll part of its client area.

    The program uses the InvalidateRect or InvalidateRgn function to explicitly generate a WM_PAINT message.

    Der erste Punkt scheint nicht (mehr?) zu stimmen, habs ausprobiert und ich bekomme keine WM_PAINT message wenn ich ein Window über meines fahre ^^



  • Vermutlich musst Du mal Aero ausschalten... dann gilt es vermutlich wieder...



  • sicher kann man das buch noch gut lesen, die frage ist eher ob man wirklich GUI programmierung in c betreiben möchte. ich würde hierfür lieber zu .Net mit forms oder so raten. ist wenigstens weitaus bequemer. aber dann wiederum schadet es sicher nicht winapi zu lernen 🙂


  • Mod

    Schon unter XP wurde der gesamte DC gesichert während ein Fenster gezogen wurde. Es wird für die anderen Fenster kein WM_PAINT ausgelöst.

    Mach es aber mal anders. Ziehe ein Fenster halb auf Dein Fenster, dann lass los. Anschließend ziehe das Fenster noch ein mal ein Stück, so dass mehr von Deinem Fenster frei wird. Es erfolgt sofort ein WM_PAINT.


Anmelden zum Antworten