让 基于 CWnd 类能接收键盘消息

原创 2017年02月16日 17:30:14


让 基于 CWnd 类能接收键盘消息, 两个关键点  WM_GETDLGCODE 返回时增加  DLGC_WANTALLKEYS|DLGC_WANTCHARS, 第二 使用 SetFocus 选中焦点


LRESULT CMyWnd::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
{
  // TODO: Add your specialized code here and/or call the base class
  LRESULT hRet = CWnd::WindowProc(message, wParam, lParam);

  switch(message)
  {
    case(WM_GETDLGCODE):
    {
      hRet |= (DLGC_WANTALLKEYS|DLGC_WANTCHARS);
      break;
    }
    case(WM_MOUSEACTIVATE):
    {
      SetFocus();
      break;
    }
  }

  if(message >= WM_KEYFIRST && message <= WM_KEYLAST)
  {
    TRACE(_T("CMyWnd::WindowProc(m=%04X w=%08X L=%08X) =%08X\n"),
      message, wParam, lParam, hRet);
  }
  
  return hRet;
}


VC/MFC 键盘消息的截取与响应

http://hi.baidu.com/ruwind2010/blog/item/654e10d36563bc83a0ec9cbd.html 在MFC(Microsoft Foundatio...

MFC中CWnd类及其派生类对话框、消息处理、窗口操作

CWnd类 我们在屏幕上看到的所有对象都和窗口有关,它们或者派生于CWnd,属继承关系,如对话框、工具栏、状态栏、子控件;或者被CWnd合成,属服务员与服务对象关系,如图标、菜单、显示设备。 CW...

MFC中CWnd类及其派生类对话框、消息处理、窗口操作

http://hi.baidu.com/xiaorida21/blog/item/8d8eb77a22eedee52e73b39e.html CWnd类 我们在屏幕上看到的所有对象都和窗口有关,它...

CWnd 各类消息扩展

  • 2011年04月20日 12:31
  • 129KB
  • 下载

CWnd::RepositionBars函数和WM_SIZEPARENT消息

转帖自: http://hi.baidu.com/shi51314/blog/item/d5646409199951a82fddd426.html  在一般用MFC编写的程序的窗口客户区中,可能有好几...

CWnd::OnNcHitTest 消息说明

CWnd::OnNcHitTest afx_msg LRESULT[1] OnNcHitTest( CPoint point ); 返回值:下面列出的鼠标击中测试枚举值之一。 ·...

CWnd类成员函数详解

  • 2011年11月03日 19:13
  • 90KB
  • 下载

CWND类成员函数功能表(全)

  • 2013年08月03日 22:47
  • 971KB
  • 下载

控制台程序接收键盘消息

DOS程序通过一个名为Winoldap的控制台程序来运行,而这个程序则是在32位Windows控制台窗口中运行。原理上,Winoldap利用x86的"Virtual86"模式来虚拟实模式。 创建控制...
  • gameWYD
  • gameWYD
  • 2011年10月12日 23:14
  • 4777

窗口(CWnd类)控制 SWF格式

  • 2009年11月07日 21:49
  • 2.28MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:让 基于 CWnd 类能接收键盘消息
举报原因:
原因补充:

(最多只允许输入30个字)