1. We have moved from vBulletin to XenForo and you are viewing the site in the middle of the move. Though the functional aspect of everything is working fine, we are still working on other changes including the new design on Xenforo.
    Dismiss Notice

Help with code

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

  1. Andres

    Andres New 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 a moderator: Aug 20, 2008
  2. shabbir

    shabbir Administrator Staff Member

    Moved to MFC/Win32 forum for better responses.
     
  3. Andres

    Andres New 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 a moderator: Aug 21, 2008

Share This Page