Help with code

Andres's Avatar, Join Date: Jul 2008
Go4Expert Member
ok so I have this code
Code:
 #include <windows.h>  
 #include <winuser.h>  
 #include <iomanip>  
 #include <iostream>  
  

    LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) 
   {
         switch(msg)  
   {  
     case WM_LBUTTONDOWN:  
         SetWindowText(hwndStatic, "You clicked the left mouse button!");   
         break;  
     case WM_RBUTTONDOWN:  
         SetWindowText(hwndStatic, "You clicked the right mouse button!");   
        break;  
        }  
    return 0;
}
And I get these errors:

In function 'LRESULT WndProc(HWND_*,UINT,WPARAM,LPARAM)':
'hwndStatic' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)

Last edited by shabbir; 20Aug2008 at 09:12.. Reason: Code block
0
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
Moved to MFC/Win32 forum for better responses.
0
Andres's Avatar, Join Date: Jul 2008
Go4Expert Member
Thanks I fixed it...The code that i have now changes the title when I click a mouse button...how can I make it send info to notepad...for example, if i click on the right button it will send a 1 to notepad or if i click on left button it will send a 2?
Code:
#include <windows.h>
#include <winuser.h>
#include <iomanip>
#include <iostream>


const char g_szClassName[] = "myWindowClass";

// Step 4: the Window Procedure
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
	switch(msg)
	{
 case WM_LBUTTONDOWN:
               SetWindowText(hwnd, "You clicked the left mouse button!");
               break;
               case WM_RBUTTONDOWN:
               SetWindowText(hwnd, "You clicked the right mouse button!");
               break;
		case WM_CLOSE:
			DestroyWindow(hwnd);
		break;
		case WM_DESTROY:
			PostQuitMessage(0);
		break;
		default:
			return DefWindowProc(hwnd, msg, wParam, lParam);
	}
	return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
	LPSTR lpCmdLine, int nCmdShow)
{
	WNDCLASSEX wc;
	HWND hwnd;
	MSG Msg;

	//Step 1: Registering the Window Class
	wc.cbSize		 = sizeof(WNDCLASSEX);
	wc.style		 = 0;
	wc.lpfnWndProc	 = WndProc;
	wc.cbClsExtra	 = 0;
	wc.cbWndExtra	 = 0;
	wc.hInstance	 = hInstance;
	wc.hIcon		 = LoadIcon(NULL, IDI_APPLICATION);
	wc.hCursor		 = LoadCursor(NULL, IDC_ARROW);
	wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
	wc.lpszMenuName  = NULL;
	wc.lpszClassName = g_szClassName;
	wc.hIconSm		 = LoadIcon(NULL, IDI_APPLICATION);

	if(!RegisterClassEx(&wc))
	{
		MessageBox(NULL, "Window Registration Failed!", "Error!",
			MB_ICONEXCLAMATION | MB_OK);
		return 0;
	}

	// Step 2: Creating the Window
	hwnd = CreateWindowEx(
		WS_EX_CLIENTEDGE,
		g_szClassName,
		"The title of my window",
		WS_OVERLAPPEDWINDOW,
		CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
		NULL, NULL, hInstance, NULL);

	if(hwnd == NULL)
	{
		MessageBox(NULL, "Window Creation Failed!", "Error!",
			MB_ICONEXCLAMATION | MB_OK);
		return 0;
	}

	ShowWindow(hwnd, nCmdShow);
	UpdateWindow(hwnd);

	// Step 3: The Message Loop
	while(GetMessage(&Msg, NULL, 0, 0) > 0)
	{
		TranslateMessage(&Msg);
		DispatchMessage(&Msg);
	}
	return Msg.wParam;
}

Last edited by shabbir; 21Aug2008 at 09:16.. Reason: Code block