////////////////////////////////////////////////////////////////////////////
//Static Var
static int LeftPos = 0;
static int RightPos = 0;
static int UpPos = 0;
static int DownPos = 0;
//用来保存坐标的位置
BOOL CKeyTestDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
switch (pMsg->message)
{
case WM_KEYDOWN :
switch (pMsg->wParam)
{
case VK_LEFT:
{
LeftPos -= 5;
if ((LeftPos + RightPos+10) <= 0)
{
LeftPos = 0;
RightPos = 0;
}
MoveWindow( (LeftPos + RightPos+10),(UpPos+DownPos+10), 200, 200);
break;
}
case VK_RIGHT:
{
RightPos += 5;
if ((LeftPos + RightPos+10) <= 0)
{
LeftPos = 0;
RightPos = 0;
}
MoveWindow( (LeftPos + RightPos+10),(UpPos+DownPos+10), 200, 200);
break;
}
case VK_UP:
{
UpPos -= 5;
if ((UpPos+DownPos+10) <= 0)
{
UpPos = 0;
DownPos = 0;
}
MoveWindow( (LeftPos + RightPos+10),(UpPos+DownPos+10), 200, 200);
break;
}
case VK_DOWN:
{
DownPos += 5;
if ((UpPos+DownPos+10) <= 0)
{
UpPos = 0;
DownPos = 0;
}
MoveWindow( (LeftPos + RightPos+10),(UpPos+DownPos+10), 200, 200);
break;
}
}//End switch
break;
}
return CDialog::PreTranslateMessage(pMsg);
}
分享到:
相关推荐
首先,获取父窗体的坐标,然后根据需要调整子窗体的位置。例如: ```cpp void CParentWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) { CDialogEx::OnCreate(lpCreateStruct); CChildWnd* pChild = new ...
主要目的:判断是否存在可移动磁盘并获取磁盘信息。 主要的功能有: 1、点击获取按钮,可判断是否存在可移动磁盘并且获取本机的磁盘盘符、总容量、剩余容量、剩余容量百分比 2、将获取到的磁盘信息显示在列表中,这...
在 MFC 编程中,获取 Picture 控件的鼠标点击坐标位置是一项常见的需求,特别是在自定义 Dialog 中加入了 Picture 控件的情况下。以下将详细介绍如何获取 Picture 控件的鼠标点击坐标位置。 首先,需要重载 CDialog...
标题中的"计算器(背景,点击窗体移动"指的是该计算器应用包含两个关键功能:一是允许用户通过点击窗口边缘来移动整个计算器窗口,二是可以改变窗口的背景。这些功能都是通过MFC的事件驱动模型来实现的,通常在初始...
总的来说,通过研究这个"MFC-keyboard"示例,你可以学到MFC事件处理的核心概念,包括消息映射、消息处理函数以及键盘事件的响应。这对于任何想要深入学习MFC和Windows GUI编程的人来说都是一个很好的起点。记得在...
在这个场景中,“mfc获取鼠标位置颜色”指的是使用MFC来编写一个程序,该程序能够实时获取鼠标指针在屏幕上的位置,并读取该位置像素的颜色值,然后在程序窗口中显示这个颜色。 实现这一功能,我们需要以下几个步骤...
### MFC实现透明窗体:深入解析与代码实践 #### 核心概念:透明窗体与SetLayeredWindowAttributes 在MFC(Microsoft Foundation Classes)框架下,实现窗体的透明效果是一项提升用户界面美观度与用户体验的重要...
在C++编程环境中,Microsoft Foundation Class (MFC) 库为开发者提供了一种方便的方式来获取程序的版本信息。MFC 是微软为Windows平台构建应用程序的一个类库,它封装了Windows API,使得操作更加简单和直观。当我们...
在这个主题中,我们将深入探讨如何利用MFC获取IP端口,以及创建网络监视器来获取目标IP和进程的端口信息。 1. **MFC中的网络编程**: MFC并没有直接提供网络编程的类,但它可以通过封装Windows API函数如...
本主题将围绕"MFC获取机器码的源代码"这一主题,详细介绍如何使用Microsoft Foundation Class (MFC)库来获取CPU ID和MAC地址,并结合提供的文件列表来理解项目结构。 首先,MFC是Microsoft为Windows平台开发的C++...
这需要获取当前位图的位置,根据移动方向和速度更新坐标,然后重新绘制位图。在MFC中,可以使用`CDC`类的`MoveTo`或`LineTo`方法来改变绘图的起始位置,然后使用`BitBlt`或` StretchBlt`函数将位图绘制到新的位置。 ...
在定时器的回调函数中,你可以调用上述代码来获取新的位置的颜色,并进行相应的处理。 在你提供的"GetRgb"文件中,可能包含了实现这一功能的示例代码。通过分析和学习这个示例,你可以更好地理解如何在MFC中实际...
总之,在MFC中实现图片移动的关键在于利用CTimer类来周期性触发事件,以及在回调函数中更新图片的位置。通过结合适当的边界检查和位置调整,可以创建出具有动态效果的应用程序。对于初学者,理解并熟练掌握这些基本...
在这个场景下,我们需要使用MFC来获取PC的唯一标识符,特别地,是在Windows XP下使用Visual C++ 6.0实现这一功能。 首先,我们需要了解可以用来表示PC唯一标识的几种常见选项。这些标识可能包括: 1. **硬盘序列号...
#define MFC_UI_WH MFC_UI_W|MFC_UI_H //此时控件大小会随窗体大小变化,但是位置不会有变动 #define MFC_UI_X 4 //X位置需要偏移 #define MFC_UI_Y 8 //Y位置需要偏移 #define MFC_UI_XY MFC_UI_X|MFC_UI_Y //此时...
在本项目中,"MFC实现获取电脑设备信息"主要涉及的是如何利用MFC来获取计算机硬件如CPU和硬盘的详细信息。 首先,获取CPU信息通常涉及到读取注册表。Windows操作系统在注册表的`HKEY_LOCAL_MACHINE\HARDWARE\...
总的来说,这个压缩包提供的代码和资源允许开发者在VC++和MFC环境下轻松地获取系统中的串口列表,这对于编写需要与硬件设备交互的应用程序非常有用。通过理解这些文件的用途和功能,开发者可以快速集成串口枚举功能...
本示例代码着重展示了如何利用MFC来实现一个不规则形状的窗体,即“不规则窗体”。不规则窗体通常指的是那些形状不再局限于标准矩形的窗口,可以依据特定的图像或其他规则进行绘制,呈现出更为独特的视觉效果。这种...
在Microsoft Foundation Classes (MFC)库中,窗体分割是一个常用的功能,允许用户在单一的窗口界面中同时显示和操作多个区域。这个“mfc窗体分割详解”资源,适用于在Windows XP系统下使用Visual Studio 2008进行...
"MFC单文件窗体示例"通常指的是使用MFC库中的单文档接口(Single Document Interface, SDI)来构建一个简单的Windows应用。 在MFC中,单文件窗体(Single File Form)是指一个包含了界面元素(如按钮、文本框等)和...