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()函数实现毫秒级的系统时间。

   

posted on 2013-11-27 13:24  华四  阅读(1099)  评论(0编辑  收藏  举报