MFC笔记:键盘移动picture控件的位置

这篇博客介绍了如何在MFC应用中通过重写PreTranslateMessage函数,响应键盘的上、下、左、右按键,实现picture控件的位置动态调整。详细实现了四个方向的移动操作,并给出了具体的代码示例。
摘要由CSDN通过智能技术生成


目标:通过键盘上的上下左右键控制picture控件的移动


方法:重写PreTranslateMessage(MSG* pMsg)函数


具体实现如下:(IDC_STATIC_PIC是picture控件的ID号)


BOOL CxxxDlg::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_KEYDOWN)
{
switch (pMsg->wParam)
{
case VK_UP:
{
CRect test;
GetDlgItem(IDC_STATIC_PIC)->GetWindowRect(&test);
ScreenToClient(&test);
//test.TopLeft().y -= 10;
//GetDlgItem(IDC_STATIC_PIC)->MoveWindow(&test);
GetDlgItem(IDC_STATIC_PIC)->SetWindowPos(NULL, test.left, test.top - 5, test.Width(), test.Height(), SWP_SHOWWINDOW);
break;
}
case VK_DOWN:
{
CRect test;
GetDlgItem(IDC_STATIC_PIC)->GetWindowRect(&test);//获取控件的屏幕坐标
ScreenToClient(&test);
GetDlgItem(IDC_STATIC_PIC)->Set

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值