Winapi wird nach Dialogbox geschlossen
-
Hallo,
wenn ich auf Über... gehe, dann schließt sich das Fenster, nachdem ich auf OK geklick habe. Weiß einer, warum?
#include <windows.h> #include "resource.h" LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM); //Deklaration der Windows-Nachrichten-Prozedur int WINAPI WinMain (HINSTANCE hI, HINSTANCE hPrI, PSTR szCmdLine, int iCmdShow) { char szName[] = "Fensterklasse"; WNDCLASS wc; wc.style = CS_HREDRAW | CS_VREDRAW; // CS = "class style" wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hI; wc.hIcon = LoadIcon (NULL, IDI_APPLICATION); wc.hCursor = LoadCursor (NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH) GetStockObject (GRAY_BRUSH); wc.lpszMenuName = MAKEINTRESOURCE(MAINMENU); wc.lpszClassName = szName; RegisterClass (&wc); HWND hwnd = CreateWindow (szName, "", WS_OVERLAPPEDWINDOW, 0, 0, 400, 400, NULL, NULL, hI, NULL); ShowWindow (hwnd, iCmdShow); UpdateWindow (hwnd); // Nachrichten-Schleife MSG msg; while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg); DispatchMessage (&msg); } return msg.wParam; } // Windows-Nachrichten-Prozedur LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; char string[255]; switch (message) { case WM_COMMAND: switch(LOWORD(wParam)) { case ID_\1: LoadString(GetModuleHandle(NULL),ID_STRING_ABOUT,string,sizeof(string)); MessageBox(hwnd,string,"Über",MB_ICONINFORMATION); break; case ID_FILE_EXIT: DestroyWindow(hwnd); break; } case WM_CLOSE: DestroyWindow(hwnd); case WM_DESTROY: PostQuitMessage (0); return 0; } return DefWindowProc (hwnd, message, wParam, lParam); }
-
Im WM_COMMAND ein break; bzw. return 0; glaub ich.
-
Stimmt

Aber jetzt kommt bei mir beim compillen Folgende schlichte Meldung:
syntax error
Ich weiß aber nicht, woran das liegt.//Ressourcen-Skriptedatei *.rc #include "resource.h" ///////////////////////////////////////////////////////////////// // // Menü // IDR_MENU MENU { POPUP "Datei" { MENUITEM "Anmelden", ID_LOGIN MENUITEM "Ende", ID_FILE_EXIT } MENUITEM "Über...", ID_ABOUT } ///////////////////////////////////////////////////////////////// // //Stringtabelle // STRINGTABLE { ID_STRING_ABOUT, "Ein Programm" } ///////////////////////////////////////////////////////////////// // //LogIn // IDR_LISTBOX DIALOGEX 20,20,180,70 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "TEXTFELD" FONT 8, "MS Sans Serif" { LTEXT "Benutzer:",-1,36,8,45,8 EDITTEXT IDC_EDIT1, 83,6,61,13,ES_AUTOHSCROLL | WS_BORDER LTEXT "Passwort:",-1,36,24,45,8 EDITTEXT IDC_EDIT2, 83,22,61,13,ES_AUTOHSCROLL | WS_BORDER PUSHBUTTON "&OK", IDOK, 33,50,50,14 PUSHBUTTON "&Abbrechen", IDCANCEL, 95,50,50,14,WS_GROUP }
-
Du bist einfach nur zu blöde Microsoftsachen zu programmieren!
http://www.c-plusplus.net/forum/viewtopic-var-p-is-1814284-and-highlight-is-.html#1814284
-
Du bist einfach nur zu blöde Microsoftsachen zu programmieren!

Mit Fehlermeldung wär's übrigens viel einfacher dir zu helfen
