Gå til innhold

'WindowProc' undeclared identifier


Anbefalte innlegg

..er feilmelding jeg får når jeg kompilerer koden under her.

Denne koden skal være helt "standard" og jeg har faktisk brukt den før så jeg skjønner ikke hvor problemet ligger...håper noen andre gjør det.

 

 

#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HWND hWnd;
MSG msg;
static LPCTSTR szAppName = L"OFWin";

WNDCLASSEX WindowClass;
WindowClass.cbSize = sizeof(WNDCLASSEX);
WindowClass.style = CS_HREDRAW | CS_VREDRAW;
WindowClass.lpfnWndProc = WindowProc;
WindowClass.cbClsExtra = 0;
WindowClass.cbWndExtra = 0;
WindowClass.hInstance = hInstance;
WindowClass.hIcon = LoadIcon(0,IDI_APPLICATION);
WindowClass.hCursor = LoadCursor(0,IDC_ARROW);
WindowClass.hbrBackground = static_cast<HBRUSH>(GetStockObject(GRAY_BRUSH));
WindowClass.lpszClassName = szAppName;

RegisterClassEx(&WindowClass);

hWnd = CreateWindow(
			szAppName,
			L"Title",
			WS_OVERLAPPEDWINDOW,
			CW_USEDEFAULT,
			CW_USEDEFAULT,
			CW_USEDEFAULT,
			CW_USEDEFAULT,
			0,
			0,
			hInstance,
			0,
			);

ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);

while(GetMessage(&msg,0,0,0) == TRUE)
{
	TranslateMessage(&msg);
	DispatchMessage(&msg);
}

return static_cast<int>(msg.wParam);
}

LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hDC;
PAINTSTRUCT PaintSt;
RECT aRect;

switch(message)
{
case WM_PAINT:
		hDC = BeginPaint(hWnd,&PaintSt);
		GetClientRect(hWnd,&aRect);
		SetBkMode(hDC, TRANSPARENT);

		DrawText(hDC,
				L" - "
				-1,
				&aRect,
				DT_SINGLELINE|
				DT_CENTER|
				DT_VCENTER);
		EndPaint(hWnd, &PaintSt);
		return 0;

case WM_DESTROY:
	PostQuitMessage(0);
	return 0;

default:
	return DefWindowProc(hWnd, message, wParam, lParam);
}
}

Lenke til kommentar
Videoannonse
Annonse
Det trodde jeg og, men hvis jeg skriver WNDPROC WindowProc; før main får jeg samme feil.

 

LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);

 

La LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM); før main,

men fikk da en feil på å lese fra 0xcccccccc som jo ikke er et godt tegn, og det var lpzsMenuName som ikke var initialisert.

 

Nå fungerer det igjen.

Takker!

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...