22

SEP09

WinAPI C++ Das erste Fenster unter Windows

Trackback URIVon Peppie in C++, Programmierung

Die WinProc / Callbackhandler

Mit der Definition unserer WinProc-Funktion werden alle Nachrichten die uns Windows rüberschickt, verarbeitet. Fangen wir mit dem Rumpf der Funktion an:

1
2
3
LPARAM WINAPI winProc( HWND p_hWnd, UINT p_uiMessage, WPARAM p_wParam, LPARAM p_lParam )
{
}

Deklariert diese Funktion über unsere WinMain. Wenn ihr euch mal mit der WinAPI beschäftigt habt, oder euch ein paar Beispiele angeschaut habt, dann fandet ihr immer eine Funktion in der ein großes Swtich/Case-Konstrukt vorhanden war, dies ist diese Funktion die wir jetzt angehen werden. Geht also in die geschweiften Klammern fügt folgenden Code ein

1
2
3
4
5
6
7
8
9
10
switch ( p_uiMessage )
{
    case WM_DESTROY:
    {
        PostQuitMessage(0);
        break;
    }
}

return ( DefWindowProc( p_hWnd, p_uiMessage, p_wParam, p_lParam ) );

In unserem ersten Fall werden wir nur die Nachricht WM_DESTROY behandeln, die uns Windows schickt sobald wir in unserem Fenster auf schließen drücken. Er soll bei dieser Nachricht eine “Quit” Message senden damit das Fenster geschlossen / zerstört wird. Durch diese Message wird dann auch unsere Main-Loop unterbrochen und er verlässt danach das Programm mit einem return 0; (Wie in der WinMain definiert) Zum Schluss in unserer winProc schicken wir alle Nachrichten an einen Default-Handler der Nachrichten verarbeitet auf die wir nicht eingehen.

So und nun könnt ihr das ganze einmal kompilieren. Wenn alles geklappt hat dann müsste das ganze dann so aussehen

WinAPI_1_Screen

So und damit sind wir auch schon mit dem Erstellen unseres Fensters durch, wenn man sich den ganzen Code jetzt mal in seinem Editor anschaut dann stellt man fest, dass es gar nicht so wirklich Viel ist. Klar es ist ne Menge Schreibarbeit aber auch das hat man schnell raus ;-) Im rechten Bereich könnt ihr euch die Cpp-Datei selbstverständlich downloaden.

Viel Spaß damit

Seite:
1 2 3

Peppie
Über den Autor:
Vor mehr als 7 Jahren habe ich mein Hobby zum Beruf gemacht. Seit her bekommt mich kein Problem so schnell in die Knie, ich bin sehr verbissen und arbeite solange an einem Problem bis es gelöst ist.

Ähnliche Artikel:

9 Kommentare

Maysi2k

Na ENDLICH! Wurde ja auch langsam mal Zeit :D Werste später direkt mal Visual Studio E Installieren und das ganze mal Ausprobieren ;)


Peppie

*hehe Jep nur zu, und danach lernste das alles erst mal auswendig xD


Maysi2k

Auswendig ? Kannst du es denn ? *muhaha


Peppie

Ähm, ja? !! :>


Maysi2k

*hihi


Maysi2k

Edit: Deine Uhr geht Falsch :D


klugscheißer

man leute man muss das nicht auswendig lernen man sollte eher wissen was man da macht! ;)


Peppie

Das ist z.B. ein Grund wieso wir damals Klugscheißer immer verdroschen haben *lach*

Natürlich ist es nicht ein “auswendig lernen” vielleicht seh ich es aber auch nur als eine Selbstverständlichkeit das man aus solchen Tutorials einfach auch mal Werte solang ändert bis man versteht was da passiert, ggf. auf anderen Seiten, unter anderem auch MSISDN, nachliest was da geschieht.

Somit nehmt meinen Kommentar mit “auswendig lernen” nicht Wort wörtlich :>


bambule

@Maysi2k Dieses Gästebuch scheint wohl die Uhrzeit per Javascript abzufragen (Clientseitig), anstatt über ein PHP-Script (Serverseitig) ^^


Kommentar schreiben

;) :( :) :D :P :o :| ^^ :> :< :cry: :S xD


Blogverzeichnis - Blog Verzeichnis bloggerei.de frisch gebloggt Blog Top Liste - by TopBlogs.de Bloggeramt.de Add to Technorati Favorites Dennis bei Xing Wikio - Top Blog UrlFan.com