OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2083|回复: 0

EMWIN 发送自定义消息(A窗口给B窗口发送消息)

[复制链接]

10

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
287
金钱
287
注册时间
2021-6-21
在线时间
104 小时
发表于 2022-6-22 18:58:49 | 显示全部楼层 |阅读模式
本帖最后由 skw168 于 2022-6-22 19:01 编辑

EMWIN中,A窗口给B窗口发送消息
1.
首先创建2个窗口  
在头文件中定义消息ID  #define WM_IC1 (WM_USER + 0)
2.
A窗口中,发送消息,
WM_HW[0]是目标窗口(B窗口)句柄,WM_IC1是自定义消息ID
  1. WM_SendMessageNoPara(WM_GetClientWindow(WM_HW[0]),WM_IC1);
复制代码

3.  
B窗口中,在对话框回调函数中,增加一个自定义消息选项WM_IC1
  1. switch (pMsg->MsgId)
  2.         {
  3.             case WM_INIT_DIALOG:
  4.                 break;
  5.             case WM_NOTIFY_PARENT:
  6.                 Id    = WM_GetId(pMsg->hWinSrc);
  7.                 NCode = pMsg->Data.v;
  8.                 switch(Id)
  9.                         {
  10.                 }
  11.                 break;
  12.             case WM_IC1:                        
  13.                     cnt++;
  14.                     sprintf(print_buff,"%d",cnt);
  15.                     hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_1);
  16.                     EDIT_SetText(hItem, print_buff);
  17.                break;                                       
  18.             default:
  19.                 WM_DefaultProc(pMsg);
  20.                 break;
  21.     }
复制代码


备注:如果发送消息还想附带数据的方法
WM_MESSAGE message;
message.MsgId =WM_IC1;
message.v = 10086;
WM_SendMessage(WM_GetClientWindow(WM_HW[0]),&message);
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 09:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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