MFC中键盘,鼠标等有用的消息函数。

1键盘消息及处理:

  

       1:键盘消息:WM_KEYDOWN-->OnKeyDown(UINT nChar,UINT nRepCnt, UINT nFlags), WM_KEYUP   ,WM_CHAR 。

       2:键盘插入符:(Caret)WM_SETFOCUS-->OnSetFocus(CWnd* pOldWnd), WM_KILLFOCUS。

   3:时钟:WM_TIMER-->OnTimer(UINT nIDEvent),SetTimer(...),KillTimer(...)。

  4:模拟键盘输入:VOID keybd_event(BYTE bVk,BYTE bScan,DWORD dwFlags,DWORD dwExtraInfo)。

  5:PreTranslateMessage(MSG* pMsg)---------进行消息预处理。

  6:    ::FindWindow(...)可以获取当前运行程序的主窗口句柄,::FindWindowEx(...)获取子窗口句柄。

2鼠标消息及处理:

  1:鼠标消息:WM_LBUTTONDOWN,WM_LBUTTONUP,WM_MOUSEMOVE

   2:创建鼠标光标:PreCreateWindow(CREATESTRUCT& cs)中LoadImage(...)中加载自定义光标。SetCursor(...),Show(...)。

    WM_SETCURSOR(CWnd* pWNd,...),pWnd->GetDlgCtrlID(),SetCursor(AfxGetApp()->LoadCursor(IDC_...))。

   3:捕捉鼠标:HWND SetCapture(HWND hWnd),ReleaseCapture(),GetClipCursor(...)获取原鼠标活动的有效区域,

    ClipCursor(...),

  4:模拟鼠标输入:VOID mouse_event(DWORD dwFlags,DWORD dx,DWORD dy,DWORD dwData,ULONG_PTR dwExtraInfo);

3其它消息及处理:

1自定义消息,ON_MESSAGE(自定义消息名称,自定义消息响应函数)

PostMessage只是把消息放入队列,不阻塞当前线程。

SendMessage必须等待其它程序处理消息后才继续执行。

2使用命令范围添加消息处理函数,ON_COMMAND_RANG宏和ON_UPDATE_COMMAND_UI_RANG宏。

3CClientDC dc(this),dc.SlectObject(...)。dc.TextOut(...);

4CTIME::GetCurrentTime()函数只能获取精确到秒的系统时间。用_time结构和_ftime()函数实现毫秒级的系统时间。

   

转载于:https://www.cnblogs.com/huasi/p/3445456.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值