硬汉嵌入式论坛

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

[emWin] WM_CreateWindowAsChild()这函数怎么用来着?

[复制链接]

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
发表于 2017-4-14 10:12:17 | 显示全部楼层 |阅读模式
一直都是用资源列表,对话框方式来创建新窗口,但这个资源列表不太好创建两个WIN吧。不知道怎么获取WIN的句柄。
所以改用WM_CreateWindowAsChild()在WM_INIT_DIALOG消息里面创建一个WIN。但是呢,创建出的WIN后,也好像是有问题的。
连设置个背景颜色都出错了, QQ截图20170414101602.png


h_track = WM_CreateWindowAsChild(WIN1_X0,WIN1_Y0,WIN1_H,WIN1_V,hWin,WM_CF_SHOW,cb_track,0);

static void cb_track(WM_MESSAGE *pMsg)
{
    switch(pMsg->MsgId)
    {
        case WM_PAINT:
        {
//            GUI_SetBkColor(GUI_TRANSPARENT);
          GUI_SetFont(GUI_FONT_32_ASCII);
          GUI_SetColor(GUI_RED);
          GUI_DispStringAt("X:102",0,0);
          GUI_DispStringAt("Y:222",0,40);
            WINDOW_SetBkColor(pMsg->hWin,GUI_RED);   //在这里设置背景颜色
        }
        break;
    }
   
}
回复

使用道具 举报

11

主题

130

回帖

168

积分

初级会员

积分
168
发表于 2017-4-14 11:19:09 | 显示全部楼层
在WM_CREATE消息里创建。
回复

使用道具 举报

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
 楼主| 发表于 2017-4-14 11:57:26 | 显示全部楼层

回 有梦为马 的帖子

有梦为马:在WM_CREATE消息里创建。 (2017-04-14 11:19) 
第一个背景窗口是用GUI_CreateDialogBox()创建的,
第二个活动窗口不知道用什么方式创建比较好哦。
你说的WM_CREATE消息的话,是用WM_CreateWindowAsChild()这种方式直接创建窗口时才能接收到的消息吧,用GUI_CreateDialogBox()这个方式的能接收到这个消息?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-15 02:44 , Processed in 0.246169 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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