Hej alle sammen jeg får en fejl i min kode. Den siger : Error Expeceted a ';'
Kode (har markeret fejl med kommentar
- #include <Windows.h>
-
- class Window {
- public:
- void Create_Window() {
- const char KlasseNavn[] = "WIN32 API"; //Klasse navnet
-
- LRESULT CALLBACK WndProc(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) //Denne procedure bliver kaldt hver gang der er en besked til vores vindue, eller dens vinduer, kig længere nede for forklaring
- { //Fejl her
- switch (Msg){
- case WM_CLOSE: //Øver, vi er nødt til at lukke
- DestroyWindow(hwnd); //Destruer vores vindue
- break;
- case WM_DESTROY: //Lad os poste den sidste besked
- PostQuitMessage(0);
- break;
- default: // Ikke noget vi gider at rode med, send den videre til default message handleren
- DefWindowProc(hwnd, Msg, wParam, lParam);
- break;
- }
-
- }
-
- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
- {
- MSG Msg; //En message variabel
- WNDCLASSEX wc; //Vores vindue klasse
- HWND hwnd; // Handleren til vinduet
-
-
- wc.cbSize = sizeof(WNDCLASSEX); //Størrelsen på WNDCLASSEX i bytes
- wc.style = 0; //Ingen ekstra styles
- wc.lpfnWndProc = WndProc; //Vindue proceduren, den tager sig af alle beskeder
- wc.cbClsExtra = 0; //Skal vi ikke bruge
- wc.cbWndExtra = 0; //Skal vi ikke bruge
- wc.hInstance = hInstance; //hIstance, kommer fra hInstance, variablen i WinMain.
- wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); //Load et ikon
- wc.hCursor = LoadCursor(NULL, IDC_ARROW); //Load en cursor
- wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); //Vælg farve til vinduet
- wc.lpszMenuName = NULL; //Ingen menu
- wc.lpszClassName = KlasseNavn; //Vores klassenavn
- wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); //Load et lille ikon
-
- if (!RegisterClassEx(&wc)){ //Forsøger at registrere vores vindue klasse, ellers spytter vi en box i hovedet på brugeren, og stopper programmet
- MessageBox(NULL, "Kunne ikke registrere vindue klassen", "Fejl", MB_OK | MB_ICONEXCLAMATION);
- return 0; //Stopper programmet
- }
- //Så skal vi lave selve vinduet
- hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, //Laver en kant på vinduet
- KlasseNavn, //Angiver vores klasse navn
- "Hej verden, nu fra et vindue", //Titlen på vores vindue
- WS_OVERLAPPEDWINDOW, //Angiver at det er et normalt vindue vi vil lave (dette er en sammentrækning af en masse styles)
- CW_USEDEFAULT, //Vælg en standard x poisition til vinduet
- CW_USEDEFAULT, //Vælg en standard y poisition til vinduet
- 300, //Bredden på vinduet
- 200, //Højden på vinduet
- NULL, //Vi har ingen ejer af vinduet
- NULL, //Ingen menu
- hInstance, //Handleren til .exe filen
- NULL); //Skal vi ikke bruge
- if (hwnd == NULL){ //Vinduet kunne ikke oprettes, smid en fejl i hovedet på brugeren og luk ned
- MessageBox(NULL, "Kunne ikke oprette vinduet", "Fejl", MB_OK | MB_ICONEXCLAMATION);
- return 0; //Stopper programmet
- }
-
- //Hvis vi er nået så langt, har vi en vindue, og en vindue klasse, nu mangler vi bare at vise vores vindue, og sørge for at fange alle messages der bliver sendt til det.
-
- ShowWindow(hwnd, nCmdShow); //Viser vores vindue, paramenteren nCmdShow, er måden det skal vises på, og vi viser det, ligesom det er blevet ønsket.
- UpdateWindow(hwnd); //Opdaterer vores vindue
-
- //Dette er lidt tricky, dette loop sørger for at vores vindue, modtager alle messages, der bliver sendt til den, d.v.s. at vi får atvide, når f.eks. at vores vindue bliver oprette. Når det resizes osv.
- while (GetMessage(&Msg, hwnd, 0, 0) > 0){ //Der er en besked fortsæt
- TranslateMessage(&Msg);
- DispatchMessage(&Msg);
- }
-
- return Msg.wParam; //Retunerer Msgs wParam
- }
- }
- };