Probleme beim Erstellen eines "Normalen Fensters"
-
Hey Leute!
Ich habe eine dringende Fragen:
Ich habe in der WinApi zum lernen begonnen, einen Stundenplan zu schreiben und bin gerade eben an einen mir unerklärlichen Fehler geraten:Hier erstmal der Quellcode:
//WinApi (main.cpp): #include <Windows.h> #include "Variablen und Definitionen.h" #include "Elemente.h" #include "Hauptfenster.h" HINSTANCE hInst; int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpcmdline, int ncmdshow) { HWND hWnd; MSG message; // Nachricht hWnd = ErstelleFenster(hInst); ErstelleElemente(hWnd, hInst); // Prüfen, ob alles glatt ging if (hWnd == NULL) return (0); while (GetMessage(&message, NULL, 0, 0)) { TranslateMessage(&message); DispatchMessage(&message); } return (int)(message.wParam); } // WinMain
//ErstelleFenster (Hauptfenster.h): #include <Windows.h> HWND ErstelleFenster(HINSTANCE hInst);
//ErstelleFenster (Hauptfenster.cpp): #include <Windows.h> #include "Elemente.h" HWND ErstelleFenster(HINSTANCE hInst) { WNDCLASSEX windowclass; // Struktur für Fenstereigenschaften HWND hWnd; // Fenster-Handle LPCWSTR x; const TCHAR szClassName[] = TEXT("Erstes Fenster"); x = TEXT("HauptmenüHintergrund.bmp"); // Größe der Struktur zwischenspeichern windowclass.cbSize = sizeof (WNDCLASSEX); // Fenster soll beim Verschieben neu gezeichnet werden windowclass.style = CS_HREDRAW | CS_VREDRAW; // Zeiger auf Callback-Funktion windowclass.lpfnWndProc = WindowProc; windowclass.cbClsExtra = 0; windowclass.cbWndExtra = 0; windowclass.hInstance = hInst; // Icons und Cursor festlegen windowclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); windowclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION); windowclass.hCursor = LoadCursor(NULL, IDC_ARROW); windowclass.hbrBackground = CreatePatternBrush((HBITMAP)LoadImage(hInst, (x), IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_LOADFROMFILE)); // Ein Menü brauchen wir nicht windowclass.lpszMenuName = NULL; windowclass.lpszClassName = szClassName; // Fensterklasse registrieren if (!RegisterClassEx(&windowclass)) return (0); // Das Fenster erzeugen hWnd = CreateWindowEx(NULL, szClassName, TEXT("Das erste Fenster!"), WS_POPUP | WS_VISIBLE, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), NULL, NULL, hInst, NULL); }//ErstelleFenster
Wenn ich das Ausführe (mit Elemente.h und Elemente.cpp, welche ich aus Übersichtlichkeitsgründen weggelassen habe), bekomme ich diese Fehler:
Fehler 8 error C2082: Neudefinition des formalen Parameters "hWnd" Fehler 3 error C2091: Funktionsergebnis ist eine Funktion Fehler 7 error C2091: Funktionsergebnis ist eine Funktion Fehler 2 error C3646: "ErstelleFenster": Unbekannter Fehler 6 error C3646: "ErstelleFenster": Unbekannter Fehler 1 error C3646: "HWND": Unbekannter Überschreibungsspezifizierer Fehler 5 error C3646: "HWND": Unbekannter Überschreibungsspezifizierer Fehler 4 error C3861: "ErstelleFenster": Bezeichner wurde nicht gefunden.
Das war vorher nicht, bevor nichts passierte und es nicht mehr ging
Hier der Ganze Code zum download und ausführen:
http://www.file-upload.net/download-8320251/Stundenplan.zip.html
MFG
FERNman
-
Da du die Zeilenangaben bei den Fehlern nicht mitgepostet hast ist es etwas schwer ...
Ich würde aber mal darauf tippen dass du irgendwo ne } Klammer vergessen hast, vermutlich in einem Header File.
-
Ok wenn du meinst:
Hier der Fehler"Code" mit Zeilenangaben:
Fehler 8 error C2082: Neudefinition des formalen Parameters "hWnd" D:\programme\stundenplan\stundenplan\hauptfenster.cpp 7 1 Stundenplan Fehler 3 error C2091: Funktionsergebnis ist eine Funktion D:\programme\stundenplan\stundenplan\hauptfenster.h 3 1 Stundenplan Fehler 7 error C2091: Funktionsergebnis ist eine Funktion D:\programme\stundenplan\stundenplan\hauptfenster.cpp 5 1 Stundenplan Fehler 2 error C3646: "ErstelleFenster": Unbekannter Überschreibungsspezifizierer D:\programme\stundenplan\stundenplan\hauptfenster.h 3 1 Stundenplan Fehler 6 error C3646: "ErstelleFenster": Unbekannter Überschreibungsspezifizierer D:\programme\stundenplan\stundenplan\hauptfenster.cpp 4 1 Stundenplan Fehler 1 error C3646: "HWND": Unbekannter Überschreibungsspezifizierer D:\programme\stundenplan\stundenplan\hauptfenster.h 3 1 Stundenplan Fehler 5 error C3646: "HWND": Unbekannter Überschreibungsspezifizierer D:\programme\stundenplan\stundenplan\hauptfenster.cpp 4 1 Stundenplan Fehler 4 error C3861: "ErstelleFenster": Bezeichner wurde nicht gefunden. D:\programme\stundenplan\stundenplan\main.cpp 13 1 Stundenplan
-
Ja, ich weiß jetzt nicht was das Problem war, ich habe jetzt einfach eine neue Datei erstellt und den Großteil des Codes kopiert.
MFG
FERNman