22
SEP09WinAPI C++ Das erste Fenster unter Windows
Das lang ersehnte Fenster
Lasst uns nun das Fenster im Ganzen erstellen, dies machen wir mit der Funktion CreateWindow
1 2 3 4 5 6 7 |
WindowHandle = CreateWindow( WinClassName,
_T("TestWindow"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
800, 600, NULL, NULL,
p_hInstance, NULL );
|
Auch hier werde ich nur kurz auf die wesentlichen Dinge eingehen, den Rest bitte wieder aus MSDN nehmen. Im ersten Parameter dieser Funktion sagen wir, welchen Style unser Fenster bekommt, also unsere definierte WindowClass die den Namen WinClassName trägt. Im 2. Parameter definiert ihr den Titel des Fensters, bzw. das was oben links im Fenster zu sehen ist. Mit dem Wert 800 und 600 definieren wir die Fenstergröße.
Soo aber nun sind wir noch lang nicht durch. Zunächst sollte man überprüfen ob das Erstellen geklappt hat. Entweder mit “IsWindow” oder einfach abfragen ob der HandlePointer != NULL ist.
1 2 |
if( !IsWindow( WindowHandle ) )
return -1;
|
Sollte das nicht geklappt haben dann wieder raus aus der Anwendung.
Nun haben wir zwar ein Fenster erstellt aber wenn wir unsere Anwendung ausführen würden dann würde man nichts sehen da wir ihm erst den Befehl geben müssen.
1 2 |
ShowWindow( WindowHandle, SW_SHOWNORMAL );
UpdateWindow( WindowHandle );
|
Mit ShowWindow sagen wir dem Fenster es soll mit dem Style “SW_SHOWNORMAL” angezeigt werden, man kann auch einstellen, dass ein Fenster minimiert gestartet wird, dies macht man dann mit diesem Parameter. Im nächsten Step gehen wir in unsere Message-Loop (Main-Loop), die unsere Nachrichten die uns Windows schickt, abholt und verarbeitet. Hier kommt dann unsere definierte Message-Variable zum Einsatz.
1 2 3 4 5 |
while( GetMessage( &WindowMessages, NULL, 0, 0 ) )
{
TranslateMessage( &WindowMessages );
DispatchMessage( &WindowMessages );
}
|
Mit dem Befehl “GetMessage” wird die Nachricht die in unserem “Postfach” liegt abgeholt, danach mit TranslateMessage übersetzt und mit Dispatch an unseren definierten Callback ( den wir noch nicht erstellt haben :) ) gesendet. So langsam sind wir am Ende unserer WinMain-Funktion. Verlasst die Funktion mit einem return 0.
1 |
return 0;
|
Auf der nächsten Seite gehen wir endlich unseren Callback Handler an xD





8 Kommentare
Na ENDLICH! Wurde ja auch langsam mal Zeit
Werste später direkt mal Visual Studio E Installieren und das ganze mal Ausprobieren
*hehe Jep nur zu, und danach lernste das alles erst mal auswendig xD
Auswendig ? Kannst du es denn ? *muhaha
Ähm, ja? !!
*hihi
Edit: Deine Uhr geht Falsch
man leute man muss das nicht auswendig lernen man sollte eher wissen was man da macht!
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
Kommentar schreiben