Windows处理重要事件的一些操作
来源:互联网 发布:手机淘宝开店怎么开 编辑:程序博客网 时间:2024/06/04 09:01
Windows处理重要事件的一些操作
1.消息:WM_ACTIVATE
参数:fActive = LOWORD(wParam);
fMinimized = (BOOL)HIWORD(wParam)
hwndPrevious = (HWND)lParam
其中fActive主要定义了该窗口发生了什么事,主要是判断是激活还是取消;
其中fMinimized变量只能指示该窗口是否最小化,非零为真;
hwndPrevious是窗口激活句柄
例子:case WM_ACTIVATE:
{
HDC hdc = GetDC(hwnd);
if(LOWORD(wparam)!=WA_INACTIVE)
{
SetTextColor(hdc,RGB(0,0,255));
SetBkColor(hdc,RGB(0,0,0));
SetBkMode(hdc,OPAQUE);
TextOut(hdc,0,100,"激活",strlen("激活"));
}
else
{
SetTextColor(hdc,RGB(0,0,255));
SetBkColor(hdc,RGB(0,0,0));
SetBkMode(hdc,OPAQUE);
TextOut(hdc,0,100,"沉睡",strlen("即或"));
}
ReleaseDC(hwnd,hdc);
}
2.消息:WM_CLOSE
参数:无
该消息在WM_DESTROY和WM_QUIT消息之前被发送,指示用户关闭窗口。如果该消息操作后WinProc()的返回
值为0,则消息被扔了,什么也不会发生.
例子:case WM_CLOSE:
{
int result = MessageBox(hwnd,"确认退
出?","out",MB_YESNO|MB_ICONQUESTION);
if(result==IDYES)
{
return(DefWindowProc(hwnd,msg,wparam,lparam));
}
else
{
return(0);
}
}
3.消息WM_SiZE
参数:fwSizeType = wParam;
nWidth = LOWORD(lParam)
nHeight = HIWORD(lParam)
其中,fwSizeType表示将会发生哪种尺寸的改变,具体见MSDN
该消息对于窗口游戏非常重要,因为当窗体尺寸改变时,必须调整图象显示来适应,但是如果游戏在全屏状
态下运行时就不必调整图象显示,但是在窗口游戏中,用户可能会改变窗口的大小。当用户改变窗口大小
时,应当使显示对中,并且调整环境,或者使用任何方法保证图象准确。
例子: case WM_SIZE:
{
Height = LOWORD(lparam);
Width = HIWORD(lparam);
HDC hdc = GetDC(hwnd);
SetTextColor(hdc,RGB(0,255,255));
SetBkColor(hdc,RGB(0,0,0));
SetBkMode(hdc,OPAQUE);
sprintf(buffer_2,"Height:%d,Width:%d",Height,Width);
TextOut(hdc,0,200,buffer_2,strlen(buffer_2));
ReleaseDC(hwnd,hdc);
}break;
4WM_MOVE
参数:
xPos = (int)LOWORD(lParam);
yPos = (int)HIWORD(lParam);
WM_MOVE消息在一个窗口移动到一个新位置时传递,该消息在窗口移动之后传递,而不是实际移动过程中
传递,如果想跟踪一个窗口的每个象素的精确移动,你就需要处理WM_MOVING消息。但在多数情况下,直
到用户已完成窗口的移动才停止该处理过程。
- Windows处理重要事件的一些操作
- 重要的经典的贴子:关于M8程序时运行中一些意外事件的处理
- 【JS】【客户端】事件处理 —— 一些事件的处理
- windows编程中的一些重要的宏定义
- MAC下通过virtualbox安装windows的一些重要事项
- javascript中一些简单事件的处理
- javascript中一些简单事件的处理
- 一些重要的属性
- 一些重要的文件
- 一些重要的计数器
- 一些重要的算法
- 一些重要的算法
- 一些重要的算法
- 一些重要的算法
- 一些重要的算法
- 一些重要的算法
- 一些重要的算法
- 一些重要的算法
- ARM 汇编指令条件执行详解
- 虚拟局域网的基本工作原理
- 在 IBM Lotus Notes 和 Domino 中编写快速查找代码
- SOA 中新出现的一些概念:XML Feeds 和聚合的 Web 服务
- log4j配置笔记
- Windows处理重要事件的一些操作
- Second life 客户机,第 1 部分: 玩转 Second Life
- 为 PHP 应用提速、提速、再提速!
- 使用 XForms 创建您自己的数独游戏,第 1 部分: 创建游戏
- SWI指令---软件中断实例详解(原创)
- 我的面试题:你重写次数最多的代码的场景是什么?
- 摩托罗拉双QVGA屏新翻盖机
- 现在才知道,有一种痛没药可治
- .dll 文件反编译的工具软件