PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anwendung ausgelastet


Sven
09.07.2004, 15:19
Hi,

also sowas habe ich noch nie gehabt. Ich wollte den Rahmen für ein Windows-Programm schreiben und habe beim testen immer eine ausgelastete Anwendung (laut Mauszeiger). Ich habe das ganze auf den nötigsten Windows-Programm-Rahmen zurück gedrängt, aber der Fehler besteht weiterhin. Ich habe den Code mit Anwendungsbeispielen aus Büchern und dem Internet verglichen, kann aber nichts finden was den Fehler verursacht.

Für alle, die sich das ganze noch mal anschauen möchten, als Anhang eine ZIP mit der EXE und der CPP-Datei.

Hier der Code:
// === Definitionen ======================================
#define UNICODE
#define WIN32_LEAN_AND_MEAN


// === Includes ==========================================
#include <windows.h>


// === Fenster-Prozedur ==================================
LRESULT CALLBACK MainWindow(HWND hWindow, UINT uMessage, WPARAM wParam, LPARAM lP
aram)
{
// Nachichten...
switch (uMessage)
{
case WM_DESTROY:
{
PostQuitMessage(0);
return 0;
}
}

return DefWindowProc(hWindow, uMessage, wParam, lParam);
}


// === Startfunktion =====================================
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLine,
int nCmdShow)
{
// Elemente...
WNDCLASS SWindowClass;
HWND hWindowMain = NULL;
MSG SMessage;

// WNDCLASSEX-Struktur für Hauptfenster initialisieren...
SWindowClass.style = CS_HREDRAW | CS_VREDRAW;
SWindowClass.lpfnWndProc = MainWindow;
SWindowClass.cbClsExtra = 0;
SWindowClass.cbWndExtra = 0;
SWindowClass.hInstance = hInstance;
SWindowClass.hIcon = NULL;
SWindowClass.hCursor = NULL;
SWindowClass.hbrBackground = GetSysColorBrush(COLOR_3DFACE);
SWindowClass.lpszMenuName = NULL;
SWindowClass.lpszClassName = TEXT("WindowClass");

// Fensterklasse für Hauptfenster registrieren...
if (!RegisterClass(&SWindowClass))
return 0;

// Hauptfenster erstellen...
hWindowMain = CreateWindow(
TEXT("WindowClass"),
TEXT("Window"),
WS_OVERLAPPEDWINDOW,
GetSystemMetrics(SM_CXSCREEN) / 4,
GetSystemMetrics(SM_CYSCREEN) / 4,
GetSystemMetrics(SM_CXSCREEN) / 2,
GetSystemMetrics(SM_CYSCREEN) / 2,
NULL,
NULL,
hInstance,
NULL);

if (!hWindowMain)
return 0;

// Hauptfenster maximiert anzeigen...
ShowWindow(hWindowMain, SW_MAXIMIZE);
UpdateWindow(hWindowMain);

// Nachichtenschleife...
while(GetMessage(&SMessage, NULL, 0, 0))
{
TranslateMessage(&SMessage);
DispatchMessage(&SMessage);
}

return (int)SMessage.wParam;
}


Patrik Graf
09.07.2004, 21:36
Da kann ich dir jetzt schonmal den einfachsten Tipp der Welt geben:


Mach ein neues Projekt
Starte das neue Projekt und schau nach ob es da genau so ist


Wenn es dann immernoch ist, versuchs mal auf nem anderen Rechner...

Wenn es da nicht so ist, dann würd ich mal die IDE neu installieren...

Lösche dann einfach das alte Projekt, kopier aber vorher das was du noch daraus brauchst in das neue.

Funktioniert bei solchen sachen fast immer... :D

Felix Kaiser
11.07.2004, 17:26
Versuchs einfach mal in dem du deiner Fensterklasse der Eigenschaft hCursor einen Wert != NULL zuweist, entweder ein Handle auf einen Cursor oder einen Wert für einen Standardcursor.