为什么我用PreTranslateMessage(MSG* pMsg) 函数移动控件…………
为什么我用PreTranslateMessage(MSG*pMsg)函数按下键盘某个键就会移动两次呢?if(pMsg->wParam==0x25){GetDlgItem(...
为什么我用PreTranslateMessage(MSG* pMsg) 函数按下键盘某个键就会移动两次呢?
if(pMsg->wParam==0x25)
{
GetDlgItem(IDC_BITMAP)->GetWindowRect(&rect);
ScreenToClient(&rect);
rect.OffsetRect(CSize(-33,0));
GetDlgItem(IDC_BITMAP)->MoveWindow(rect);
}
MFC. 展开
if(pMsg->wParam==0x25)
{
GetDlgItem(IDC_BITMAP)->GetWindowRect(&rect);
ScreenToClient(&rect);
rect.OffsetRect(CSize(-33,0));
GetDlgItem(IDC_BITMAP)->MoveWindow(rect);
}
MFC. 展开
展开全部
使用下面的代码,测试过了,只移动一次
if (pMsg->message == WM_KEYDOWN)
{
if (pMsg->wParam == VK_LEFT)
{
CRect rect;
GetDlgItem(IDC_BITMAP)->GetWindowRect(&rect);
ScreenToClient(&rect);
rect.OffsetRect(CSize(-33,0));
GetDlgItem(IDC_BITMAP)->MoveWindow(rect);
}
}
if (pMsg->message == WM_KEYDOWN)
{
if (pMsg->wParam == VK_LEFT)
{
CRect rect;
GetDlgItem(IDC_BITMAP)->GetWindowRect(&rect);
ScreenToClient(&rect);
rect.OffsetRect(CSize(-33,0));
GetDlgItem(IDC_BITMAP)->MoveWindow(rect);
}
}
追问
OK,谢了
微测检测5.10
2023-05-10 广告
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇...
点击进入详情页
本回答由微测检测5.10提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询