Windows Fenster?
-
Hi,
ich hab ein Problem mit WindowsFenster, aber die erklehrung in meinen Büchern ist sehr Kompliziert gehalten. Ich wollt fragen ob jemand vieleicht ein Tutorial hat, wo ungefähr soll ein Code erklehrt wird:
Bedanke mich für Antworten// Headerdatei #include <windows.h> // Anwendungsfenster erzeugen HWND CreateMainWindow(HINSTANCE hInstance); //Callback Funktion zur Nachrichtenbehandlung LRESULT CALLBACK MessageHandler(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); // Das Fensterhandle HWND hWnd = 0; // Windows main-Funktion int WINAPI WinMain(HINSTANCE hInstance, // Handle der Programminstanz HINSTANCE hPrevInstance, // Handle der letzten Instanz LPSTR lpCmdLine, // Kommandozeile int nCmdShow) // Art wie das Fenster angezeigt werden soll { // Fenster erzeugen und Handle speichern hWnd = CreateMainWindow(hInstance); // Wenn der Rückgabewert 0 ist, ist ein Fehler aufgetreten if(0 == hWnd) { MessageBox(0,"Fenster konnte nicht erzeugt werden","Fehler",MB_OK); return 0; } // Struktur, in der Informationen zur Nachricht gespeichert werden MSG msg; // Diese Schleife läuft bis die Nachricht WM_QUIT empfangen wird while(GetMessage(&msg,NULL,0,0)) { // Nachricht an die Callbackfunktion senden TranslateMessage(&msg); DispatchMessage(&msg); } // Rückgabewert an Windows return 0; } HWND CreateMainWindow(HINSTANCE hInstance) { WNDCLASSEX wndClass; // WNDCLASSEX Struktur // Struktur initialisieren wndClass.cbSize = sizeof(WNDCLASSEX); // Größe angeben (nie vergessen!) wndClass.style = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW; // Standard Stile wndClass.lpfnWndProc = MessageHandler; // Die Callback Funktion angeben wndClass.cbClsExtra = 0; // Zusätzliche Angaben, wird nicht benötigt wndClass.cbWndExtra = 0; // Zusätzliche Angaben, wird nicht benötigt wndClass.hInstance = hInstance; // Anwendungsinstanz wndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // Weisser Pinsel wndClass.hCursor = LoadCursor(NULL, IDC_ARROW); // Normaler Cursor wndClass.lpszMenuName = NULL; // Das Fenster hat kein Menü wndClass.lpszClassName = "WindowClass"; // Der Name der Klasse wndClass.hIcon = LoadIcon(NULL, IDI_WINLOGO); // Windows Logo wndClass.hIconSm = LoadIcon(NULL, IDI_WINLOGO); // Windows Logo RegisterClassEx(&wndClass); return CreateWindowEx(NULL, // Keine erweiterten Stile nutzen "WindowClass", // Klassenname "Hello Windows", // Fenstertitel WS_OVERLAPPEDWINDOW | // Fenster WS_VISIBLE, // Eigenschaften 0, 0, 800, 600, // Anfangsposition und Größe NULL, // Handle des Elternfensters NULL, // Handle des Menüs hInstance, // Anwendungsinstanz NULL); // wird nicht benötigt } // Diese Funktion wird von Windows aufgrufen, wenn eine Nachricht // für Ihr Programm vorliegt LRESULT CALLBACK MessageHandler(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { // testen, um welche Nachticht es sich handelt switch(msg) { // wenn das Fenster geschlossen wird, eine Nachricht senden, // die das Programm beendet case WM_DESTROY: PostQuitMessage(0); return 0; break; } // Wenn wir uns nicht um die Nachricht gekümmert haben // wird sie an die Standardnachrichtenverarbeitung von Windows // geschickt return (DefWindowProc(hwnd, msg, wParam, lParam)); }
edit: Bitte benutze Codetags.
[ Dieser Beitrag wurde am 30.01.2003 um 20:59 Uhr von cd9000 editiert. ]
-
Öhöm. Sind dir das nicht genug Erklärungen in den Kommentaren? Geh mal auf www.win-api.de. Ansonsten ist die MSDN auch nicht schlecht.
[ Dieser Beitrag wurde am 29.01.2003 um 18:09 Uhr von WebFritzi editiert. ]
-
MSDN hab ich leider nicht
Die kommentare helfen mir nur etwas. Vieleicht eine klitzkleine erklärung im welchen zusammenhang das alles steht.
-
[url] msdn.microsoft.com [/url]
meint er damit was du meinst ist MS Libary
-
Original erstellt von Gott der 2.:
MSDN hab ich leider nichtDie kommentare helfen mir nur etwas. Vieleicht eine klitzkleine erklärung im welchen zusammenhang das alles steht.
Konnte das jetzt nur überfliegen, da du keine Code-Tags genommen hast. Das dürfte einfach ein kleienes Proggi sein, das ein Fenster darstellt, auf dem nix drauf ist.
-
Und das Fenster hat einen weißen Hintergrund und ist mit "Hello Windows" beschriftet ;).
cya
-
Und hat das Windows-Logo als Icon. Und ist von der Fenster-Klasse "WindowClass".
-
Genau... für weitere Informationen drücken Sie bitte die '1'.
cya
-
1
-
ähm, ich habe auf 1 gedrückt. Wo bleiben die Informationen?
-
Ist das nicht aus dem Petzold?
-
sieht nicht so aus