硬汉嵌入式论坛

 找回密码
 立即注册
查看: 269|回复: 2
收起左侧

[emWin] WM_SendMessage应用问题

[复制链接]

10

主题

32

回帖

62

积分

初级会员

积分
62
发表于 2026-1-19 10:56:13 | 显示全部楼层 |阅读模式
怎样通过WM_SendMessage给窗口发送信息,我通过窗口的回调函数反推出信息格式,然后封装了一个函数,发现信息一致的情况下却无法触发窗口回调。


/*
* @param  hWin        目的窗口
* @param  MsgId       要发送的【消息ID】(如WM_PAINT,WM_TIMER)
* @param  hItem       控件名
* @param  NCode       消息类型(如WM_NOTIFICATION_CLICKED)
*/
void WM_SendCtrlMsg(GUI_HWIN hWin, int MsgId, int hItem_Name,int NCode)
{
    WM_MESSAGE tMsg;
    GUI_HWIN hItem;

    if ((hWin == WM_HWIN_NULL) || (hWin == 0))
    {
        return;
    }
    hItem = WM_GetDialogItem(hWin, hItem_Name);

    tMsg.hWin = hWin;
    tMsg.MsgId = MsgId;
    tMsg.hWinSrc = hItem;
    tMsg.Data.v = NCode;

    WM_SendMessage(hItem, &tMsg);
}

回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
121123
QQ
发表于 2026-1-19 11:07:36 | 显示全部楼层
使用有误
WM_SendMessage(hItem, &tMsg);第1个参数就是目标创建,而你的这个函数tMsg.hWinSrc = hItem;又把源窗口设置为了hItem
回复

使用道具 举报

10

主题

32

回帖

62

积分

初级会员

积分
62
 楼主| 发表于 2026-1-19 11:25:57 | 显示全部楼层
eric2013 发表于 2026-1-19 11:07
使用有误
WM_SendMessage(hItem, &tMsg);第1个参数就是目标创建,而你的这个函数tMsg.hWinSrc = hItem;又 ...

好谢谢硬汉哥
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-2-24 11:05 , Processed in 0.043977 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表