002
10.08.2005, 11:36 Uhr
~Gast
Gast
|
Also gut. Ich hatte in dem Prototypen CreateMainWindow stehen, bei der Definition aber CreatemainWindow. Somit wäre der Fehler jetzt behoben. Jetzt kommt aber ein neuer Fehler beim ausführen des Programms. Ich poste hier mal zur Sicherheit gleich den ganzen Quellcode mit:
| C++: |
#include <windows.h>
HWND CreateMainWindow(HINSTANCE hinstance); //Prototypen der Funktionen LRESULT CALLBACK MessageHandler(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
HWND hwnd = 0; //Fenster-Handle MSG msg; //Struktur zum Ablegen der Nachrichten
int WINAPI WinMain(HINSTANCE hinstance,HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { hwnd = CreateMainWindow(hinstance); //Aufruf der CreateMainWindoW- //Funktion und Zuweisung des Rückgabewerts in hWnd if(hwnd == 0) //Bedingung, falls Fenster nicht erzeugt werden konnte { MessageBox(NULL, "Das Fenster konnte nicht erzeugt werden", "Fehler", MB_OK); }
while(GetMessage(&msg, NULL, NULL, NULL)) //Schleife, die solange läuft, bis { //WM_QUIT empfangen wird DispatchMessage(&msg); //Nachricht an Callback-Funktion senden } return 0; }
HWND CreateMainWindow(HINSTANCE hinstance) //Funktionsdefinition von { WNDCLASSEX wndclass = { //Werte belegen von wndclass sizeof(WNDCLASSEX), CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW, MessageHandler, 0, 0, hinstance, LoadIcon(hinstance, IDI_WINLOGO), LoadCursor(hinstance, IDC_ARROW), (HBRUSH)GetStockObject(BLACK_BRUSH), NULL, "WindowClass", LoadIcon(NULL, IDI_WINLOGO) }; RegisterClassEx(&wndclass); //wndclass Windows bekannt machen //Fenster erzeugen return CreateWindowEx(NULL, "MausNachrichten", "Maus-Fenster", WS_OVERLAPPEDWINDOW | WS_VISIBLE, 0, 0, 300, 400, NULL, NULL, hinstance, NULL); }
LRESULT CALLBACK MessageHandler(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) //Die Callback-Funktion { //zum behandeln von Nachrichten HDC hDC; switch(msg) //Überprüfen, welche Nachricht vorliegt und entsprechend behandeln { case WM_DESTROY: PostQuitMessage(0); return 0; break; case WM_LBUTTONDOWN: int x1, x2, y1, y2; hDC = GetDC(hwnd); x1 = LOWORD(lParam); //Erfassen der Koordinaten des Zeigers y1 = HIWORD(wParam); x2 = x1 + 100; y2 = y1 + 100;
Rectangle(hDC, x1, y1, x2, y2); //Rechteck mit den Werten x1,y1,x2,y2 zeichnen
ReleaseDC(hwnd, hDC); //Device Context wieder freigeben
return 0; break;
} return DefWindowProc(hwnd, msg, wParam, lParam); //Standard-Funktion zum behandeln der } //Nachrichten
|
Jetzt kommt beim Ausführen folgende Fehlermeldung: --------------------Konfiguration: MausNachrichten und Invalidate - Win32 Debug-------------------- Kompilierung läuft... MausNachrichten und Invalidate.cpp Linker-Vorgang läuft... LINK : fatal error LNK1168: "Debug/MausNachrichten und Invalidate.exe" kann nicht zum Schreiben geoeffnet werden Fehler beim Ausführen von link.exe.
MausNachrichten und Invalidate.exe - 1 Fehler, 0 Warnung(en)
Könnte mir da vielleicht wieder einer helfen? Wiedermal Danke im Voraus! Dieser Post wurde am 10.08.2005 um 13:01 Uhr von FloSoft editiert. |