Help with code

Discussion in 'Win32' started by Andres, Aug 19, 2008.

  1. Andres

    Andres New Member

    Joined:
    Jul 22, 2008
    Messages:
    34
    Likes Received:
    0
    Trophy Points:
    0
    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 a moderator: Aug 20, 2008
  2. shabbir

    shabbir Administrator Staff Member

    Joined:
    Jul 12, 2004
    Messages:
    15,376
    Likes Received:
    388
    Trophy Points:
    83
    Moved to MFC/Win32 forum for better responses.
     
  3. Andres

    Andres New Member

    Joined:
    Jul 22, 2008
    Messages:
    34
    Likes Received:
    0
    Trophy Points:
    0
    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 a moderator: Aug 21, 2008

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice