Das kann ja irgendwie nicht wahr sein!
-
ICh habe einfach ganz normal eine Fensterklasse deklariert und wollte sie einfach mal compilieren.Da zeigt mir der Compiler plötzlich ganz komische Fehler an.
Z.B. das hInstance ein nicht deklarierter Bezeichner sei und das gleiche auch bei nShowCmd;
Und dann noch int bei WinMain sei unerwartet.Und viele anderer solcher dinger.
Aber was habe ich denn da bitte falsch gemacht?#include <windows.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM): int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { TCHAR szAppName[] = TEXT("classex"); HWND hwnd; MSG msg; WNDCLASS wndclass; wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.lpfnWndProc = WndProc; wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); wndclass.hInstance = hInstance; wndclass.lpszClassName = szAppName; wndclass.lpszMenuName = 0; RegisterClass(&wndclass); hwnd = CreateWindow(szAppName, TEXT("Klassen Try"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, hInstance, NULL, NULL); ShowWindow(hwnd, nShowCmd); UpdateWindow(hwnd); while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; switch(message) { case WM_PAINT: hdc = BeginPaint(hwnd, &ps); TextOut(hdc, 90, 80, TEXT("Hi"), lstrlen(TEXT("Hi"))); EndPaint(hwnd, &ps); case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd, message, wParam, lParam); }
-
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM):
Da gehört ein Semikolon, kein Doppelpunkt hin.
-
Vielen dank!
immer diese kleinen Tippfehler, die man einfach übersieht!
-
also ich kann kein fehler erkennen. wahrscheinlich ist das nur temporär, versuch mal den PC neu zu starten oder ein neues projekt zu erstellen.
-
setzt noch ein BREAK; hinter case WM_PAINT:
-
Noch ein Tipp:
Mein Compiler meckert immer wenn ich etwas ausm Browser per Copy & Paste einfüge über irgendwelche Zeichen die er nicht kennen würde.
-
Wieso sollte ich dennSachen aus dem Browser kopieren!Ich kann das schon selber programmieren!