我想要实现的效果是:如果鼠标左键点击某一区域,则响应键盘上 下翻 键;我是这样处理的
PreTranslateMessage(MSG* pMsg)过滤消息中,
//testOnRect检测鼠标点击位置
if((pMsg->message == WM_LBUTTONDOWN) &&testOnRect(pMsg->pt,0,325,180,395))
{
//转化为下翻键
AfxMessageBox("1111");//Debug
pMsg->message==WM_KEYDOWN;
pMsg->wParam==VK_NEXT; }
//键盘消息转换
if((pMsg->message == WM_KEYDOWN) && pMsg->wParam==VK_ESCAPE)
{
//转化为下翻键
AfxMessageBox("2222");//Debug
pMsg->message==WM_KEYDOWN;
pMsg->wParam==VK_NEXT; }
但实际运行中,鼠标点击规定的区域后,程序弹出1111的对话框,不过却没有实现下翻功能,
而点击键盘中的ESC键,则弹出2222的对话框,实现了下翻功能。为什么会这样?请指点。。,非常感谢。
PreTranslateMessage(MSG* pMsg)过滤消息中,
//testOnRect检测鼠标点击位置
if((pMsg->message == WM_LBUTTONDOWN) &&testOnRect(pMsg->pt,0,325,180,395))
{
//转化为下翻键
AfxMessageBox("1111");//Debug
pMsg->message==WM_KEYDOWN;
pMsg->wParam==VK_NEXT; }
//键盘消息转换
if((pMsg->message == WM_KEYDOWN) && pMsg->wParam==VK_ESCAPE)
{
//转化为下翻键
AfxMessageBox("2222");//Debug
pMsg->message==WM_KEYDOWN;
pMsg->wParam==VK_NEXT; }
但实际运行中,鼠标点击规定的区域后,程序弹出1111的对话框,不过却没有实现下翻功能,
而点击键盘中的ESC键,则弹出2222的对话框,实现了下翻功能。为什么会这样?请指点。。,非常感谢。
解决方案 »
- 变量的初始值
- vc中ado的入门问题
- 为什么我用directshow作音频视频同时采集图像画面有问题?而只采集视频没问题?_______________waiting on line
- 小妹先谢谢大家了!!今天又有一个问题要问各位大哥!!还是请大家多多帮忙哦!!
- 请问自定义消息是怎么回事??
- 把光标移到一个对话框上,触发什么消息呢
- 找教材
- up有分,请问我想运行别人的程序,
- mfc录制AVI视频的时候同时录音
- 一个vb调vc DLL时出现的奇怪现象
- 使用UNICODE后, CString的一个对象怎么转化成数字? atoi不行了.
- 完成端口GetQueuedCompletionStatus后,我怎么知道是WSASend完成了?还是WSARecv完成了??
pMsg->wParam==VK_NEXT;
语法错误,应该是:
pMsg->message=WM_KEYDOWN;
pMsg->wParam=VK_NEXT;
SendMessage(pMsg->hwnd, WM_KEYDOWN, VK_NEXT);编译提示:
error C2664: 'SendMessageA' : cannot convert parameter 1 from 'struct HWND__ *' to 'unsigned int'
keybd_event(VK_NEXT,0,KEYEVENTF_KEYUP,NULL);