MSG结构的用途是什么?它的参数代表什么

what is the use of MSG structure and what are it parameters stands for?

本文关键字:参数 什么 是什么 结构 MSG      更新时间:2023-10-16

我是vc++的新手,正在创建一个win32窗口应用程序。我在我的视觉工作室中创建了默认项目。在浏览代码时,我发现了MSG msg;。我搜索了很多关于它的用途和参数的含义。我在msdn中找到了一个非常简短的描述。

typedef struct tagMSG {
HWND   hwnd;
UINT   message;
WPARAM wParam;
LPARAM lParam;
DWORD  time;
POINT  pt;
} MSG, *PMSG, *LPMSG;

关于msg结构的参数和使用的描述对我来说很简短。所以请任何人向我解释一下。

Windows使用MSG结构向程序传递多种信息,包括按键、鼠标移动、单击、对窗口所做的更改等。不同消息的参数用法不同,因此需要查找特定消息以获取详细信息。您应该使用一本书或教程,向您展示创建Win API程序的基本知识。在那里,您将遇到几个必须处理的示例消息。

如果可能的话,您应该避免与此结构有任何关系。在visual studio c++中,使用消息通常只需要SendMessage()和PostMessage()函数,如果需要的话,它们可以用来生成消息,再加上接收消息的任何东西中的消息映射。消息映射将消息路由到一个特定的函数,该函数通常只看到wParam和lParam消息参数,或者根本看不到参数。有许多特殊的消息映射条目,它们使用带有来自消息的额外参数的函数,通常是pt.

如果真的在Win32级别编写所有代码,而不使用MFC和消息映射支持,那么事情会困难得多!您需要的是一个处理发送到给定窗口类型的消息的函数,该函数应该使用由消息值驱动的switch语句来调用消息特定的函数,通常将wParam和lParam传递给它们。WindowProc上的文档加上在谷歌上搜索这个名字应该可以帮助你掌握这个问题。

相关文章: