Go4Expert

Go4Expert (http://www.go4expert.com/)
-   Win32 (http://www.go4expert.com/forums/win32/)
-   -   Help with code (http://www.go4expert.com/forums/help-with-code-t13071/)

Andres 19Aug2008 22:44

Help with code
 
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.)

shabbir 20Aug2008 09:13

Re: Help with code
 
Moved to MFC/Win32 forum for better responses.

Andres 20Aug2008 21:02

Re: Help with code
 
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;
}



All times are GMT +5.5. The time now is 11:37.