首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

win32生手求教

2012-08-13 
win32新手求教[codeC/C++][/LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM

win32新手求教
[code=C/C++][/LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent,x,y;
PAINTSTRUCT ps;
HDC hdc;
char msg[128];
switch (message)
{
case WM_COMMAND:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
// 分析菜单选择:
switch (wmId)
{
case IDM_ABOUT:
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
break;
case WM_CHAR://这个是老师写的一个显示键盘按键的case,运行时,按键盘没反应
sprintf_s(msg,"%c",wParam);
MessageBox(hWnd,msg,"info",MB_OK);break;
case WM_LBUTTONDOWN://这个是老师写的显示鼠标左键点击位置的case,编译就不通过
x= (LOWORD) lParam;
y= (HIWORD) lParam;
sprintf(msg,"x=%d","y=%d",x,y);
MessageBox(hWnd,msg,"info",MB_OK);break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
// TODO: 在此添加任意绘图代码...
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
]这是老师讲的用win32获取键盘按键,并显示出来,获取鼠标点击左键的位置并显示出来的程序,可能我这少了一些东西,刚接触win32,搞不懂为什么是错的,求大神们帮助

[解决办法]

C/C++ code
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){    int wmId, wmEvent,x,y;    PAINTSTRUCT ps;    HDC hdc;    char msg[128];    switch (message)    {    case WM_COMMAND:        {            wmId = LOWORD(wParam);            wmEvent = HIWORD(wParam);            // 分析菜单选择:            switch (wmId)            {            case IDM_ABOUT:                DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);                break;            }        }    case WM_CHAR://这个是老师写的一个显示键盘按键的case,运行时,按键盘没反应        sprintf_s(msg,"%c",wParam);        MessageBox(hWnd,msg,"info",MB_OK);        break;    case WM_LBUTTONDOWN://这个是老师写的显示鼠标左键点击位置的case,编译就不通过        x= (LOWORD) lParam;        y= (HIWORD) lParam;        sprintf(msg,"x=%d","y=%d",x,y);        MessageBox(hWnd,msg,"info",MB_OK);        break;    case IDM_EXIT:        DestroyWindow(hWnd);        break;    case WM_PAINT:        hdc = BeginPaint(hWnd, &ps);        // TODO: 在此添加任意绘图代码...        EndPaint(hWnd, &ps);        break;    case WM_DESTROY:        PostQuitMessage(0);        break;    default:        return DefWindowProc(hWnd, message, wParam, lParam);        break;    }        }return 0;}
[解决办法]
C/C++ code
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){    int wmId, wmEvent,x,y;    PAINTSTRUCT ps;    HDC hdc;    char msg[128];    switch (message)    {    case WM_COMMAND:        {            wmId = LOWORD(wParam);            wmEvent = HIWORD(wParam);            // 分析菜单选择:            switch (wmId)            {            case IDM_ABOUT:                DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);                break;            }        }    case WM_CHAR://这个是老师写的一个显示键盘按键的case,运行时,按键盘没反应        sprintf_s(msg,"%c",wParam);        MessageBox(hWnd,msg,"info",MB_OK);        break;    case WM_LBUTTONDOWN://这个是老师写的显示鼠标左键点击位置的case,编译就不通过        x= (LOWORD) lParam;        y= (HIWORD) lParam;        sprintf(msg,"x=%d","y=%d",x,y);        MessageBox(hWnd,msg,"info",MB_OK);        break;    case IDM_EXIT:        DestroyWindow(hWnd);        break;    case WM_PAINT:        hdc = BeginPaint(hWnd, &ps);        // TODO: 在此添加任意绘图代码...        EndPaint(hWnd, &ps);        break;    case WM_DESTROY:        PostQuitMessage(0);        break;    default:        return DefWindowProc(hWnd, message, wParam, lParam);        break;    }        }return 0;} 

热点排行