为什么我用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,谢了
广州奥泰斯工业自动化控制设备有限公司_
2023-03-29 广告
2023-03-29 广告
日本OPTEX FA光电传感器产品已在中国大陆销售了近30年,产品的高性价比已被广大客户所认可。为更好的服务广大客户,日本株式会社(OPTEX FA)于2013年成立广州奥泰斯工业自动化控制设备有限公司,作为OPTEX FA中国区总部。日本...
点击进入详情页
本回答由广州奥泰斯工业自动化控制设备有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询