Win32 API:WM_KEYDOWN消息处理问题,按键盘时,怎么没有响应事件?||希望大家帮忙,谢谢!!!

litt_123 2008-10-14 01:45:27
下面的程序是一本书的一个例子。
我在按键盘中的1、2、3,程序没有相应的响应事件。
这是怎么回事?
//-----------------------------------------------------------------------------
// Desc: 消息处理
//-----------------------------------------------------------------------------
LRESULT WINAPI MsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
switch( msg )
{
case WM_DESTROY:
Cleanup();
PostQuitMessage( 0 );
return 0;

case WM_KEYDOWN:
switch(wParam)
{
case 49: //"1"键
case 50: //"2"键
case 51: //"3"键
case 52: //"4"键
case 53: //"5"键
case 54: //"6"键
type= (int)wParam-48;
break;
}

}

return DefWindowProc( hWnd, msg, wParam, lParam );
}


//-----------------------------------------------------------------------------
// Desc: 入口函数
//-----------------------------------------------------------------------------
INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR, INT )
{
//注册窗口类
WNDCLASSEX wc = {...};
RegisterClassEx( &wc );

//创建窗口
HWND hWnd = CreateWindow(...);

//初始化
if( SUCCEEDED( ...) ) )
{

if( SUCCEEDED( ...) )
{
//显示窗口
ShowWindow( hWnd, SW_SHOWDEFAULT );
UpdateWindow( hWnd );

//进入消息循环
MSG msg;
ZeroMemory( &msg, sizeof(msg) );
while( msg.message!=WM_QUIT )
{
if( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
else
{
...
}
}
}
}

UnregisterClass( L"ClassName", wc.hInstance );
return 0;
}
...全文
361 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
litt_123 2008-10-15
  • 打赏
  • 举报
回复
谢谢你的帮忙!!!
问题解决了.
解决的方法是:

VK_NUMPAD0为"0"键,
VK_NUMPAD1为"1"键...
1)
"case 49: "改为:"case VK_NUMPAD1: "

2)
"type= (int)wParam-48; "改为:"type= (int)wParam-VK_NUMPAD0;"

litt_123 2008-10-15
  • 打赏
  • 举报
回复
就是将type值改变了,然后做相应的处理.
type= (int)wParam-48;
wltg2001 2008-10-14
  • 打赏
  • 举报
回复
我在按键盘中的1、2、3,程序没有相应的响应事件。
===============
怎么知道它没响应呢?你的代码中看不出响应后你的处理啊?
litt_123 2008-10-14
  • 打赏
  • 举报
回复
自己顶一下.
很想知道原因,想知道的朋友帮忙顶一下,
知道原因的,能帮解答一下,
谢谢!

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧