lm68140318 发表于 2023-8-3 07:42:30

自定义消息


我的问题:

请下载附件,附件中的代码就是https://blog.csdn.net/qq_38161654/article/details/103871140这个博文

能够录音,其中有几个通过类向导创建的自定义消息,可是我找不到 自定义消息的触发代码 ??

isdkz 发表于 2023-8-3 07:42:44

你好!根据您的描述,您想要了解如何触发自定义消息。在您提供的链接中,代码示例是使用MFC(Microsoft Foundation Classes)来实现的录音功能。自定义消息的触发代码通常位于消息处理函数中。

要触发自定义消息,您需要进行以下步骤:

1. 打开您的源代码文件,通常是一个.cpp文件。
2. 在您的消息映射表中添加一个条目,将自定义消息与消息处理函数关联起来。消息映射表通常位于您的类声明的末尾,以 BEGIN_MESSAGE_MAP 和 END_MESSAGE_MAP 包围。示例代码如下:

BEGIN_MESSAGE_MAP(YourClass, CDialog)
    // 其他消息映射条目
    ON_MESSAGE(WM_CUSTOM_MESSAGE, OnCustomMessage)
END_MESSAGE_MAP()


3. 在您的类中添加消息处理函数OnCustomMessage ,并在其中编写处理自定义消息的代码。示例代码如下:

LRESULT YourClass::OnCustomMessage(WPARAM wParam, LPARAM lParam)
{
    // 在这里编写处理自定义消息的代码
    // 可以根据需要访问传递的参数 wParam 和 lParam
    // 返回值通常为 0
    return 0;
}


4. 在您的其他代码中,通过使用PostMessage或SendMessage函数来发送自定义消息。示例代码如下:

// 发送自定义消息
PostMessage(WM_CUSTOM_MESSAGE, wParam, lParam);


通过以上步骤,您就可以实现触发和处理自定义消息了。请注意, WM_CUSTOM_MESSAGE是您为自定义消息定义的消息代码,可以是一个未被使用的整数值。

确保您将上述代码嵌入到正确的位置,并根据您的应用程序结构进行适当的调整。希望这些解释能够帮助您理解如何触发自定义消息。如有需要,请随时提问。

Mike_python小 发表于 2023-8-3 07:42:45

标题:自定义消息的触发代码

在 MFC 中,自定义消息的触发是通过发送消息来实现的。可以使用以下方式触发自定义消息:

1. 使用 SendMessage() 函数发送消息到窗口或控件:

// 发送自定义消息 WM_MY_CUSTOM_MESSAGE 到窗口 hWnd
SendMessage(hWnd, WM_MY_CUSTOM_MESSAGE, WPARAM_PARAM, LPARAM_PARAM);

其中 WM_MY_CUSTOM_MESSAGE 是自定义消息的消息 ID,WPARAM_PARAM 和 LPARAM_PARAM 分别是消息的 wParam 和 lParam 参数,根据需要进行设置。

2. 使用 PostMessage() 函数异步地发送消息到窗口或控件:

// 异步发送自定义消息 WM_MY_CUSTOM_MESSAGE 到窗口 hWnd
PostMessage(hWnd, WM_MY_CUSTOM_MESSAGE, WPARAM_PARAM, LPARAM_PARAM);


3. 在窗口或控件类中重写消息处理函数来响应自定义消息:

BEGIN_MESSAGE_MAP(CMyWnd, CWnd)
    ON_MESSAGE(WM_MY_CUSTOM_MESSAGE, OnMyCustomMessage)
END_MESSAGE_MAP()

// 自定义消息处理函数
LRESULT CMyWnd::OnMyCustomMessage(WPARAM wParam, LPARAM lParam)
{
    // 处理自定义消息
    return 0;
}


在代码中,需要自己定义和使用的自定义消息的触发代码应该是在合适的时机调用 SendMessage() 或 PostMessage() 函数,并指定对应的消息 ID、wParam 和 lParam 参数。

请根据你的具体需求,在相关位置添加适当的代码以触发自定义消息。希望对你有所帮助!如果有任何问题,请随时提问。
页: [1]
查看完整版本: 自定义消息