硬汉嵌入式论坛

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

[emWin] 对话框里面集成多个Windows窗口控件也是可以的

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2019-11-5 07:25:43 | 显示全部楼层 |阅读模式
一定要注意windows控件的争取获取方法。

1、资源列表
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
  { FRAMEWIN_CreateIndirect, "Framewin", ID_FRAMEWIN_0, 0, 0, 429, 296, 0, 0x0, 0 },
  { WINDOW_CreateIndirect, "Window", ID_WINDOW_0, 0, 0, 320, 240, 0, 0x0, 0 },
  { WINDOW_CreateIndirect, "Window", ID_WINDOW_1, 50, 50, 320, 240, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "Button", ID_BUTTON_0, 68, 59, 80, 20, 0, 0x0, 0 },
};


2、初始化消息:
static void _cbDialog(WM_MESSAGE * pMsg) {
       int NCode;
       int Id;
       WM_HWIN hItem;
       WM_HWIN hItem1, hItem2;

      switch (pMsg->MsgId) {
           case WM_INIT_DIALOG:

            /* 获取FrameWin客户区句柄 */
            hItem1 = WM_GetClientWindow(pMsg->hWin);

            /* 获取第1个Windows */
            hItem2 = WM_GetFirstChild(hItem1);
            WINDOW_SetBkColor(hItem2, GUI_RED);

            /* 获取第2个Windows*/
            hItem = WM_GetNextSibling(hItem2);
            WINDOW_SetBkColor(hItem, GUI_GREEN);

            hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0);
            BUTTON_SetFont(hItem, GUI_FONT_20_ASCII);
            break;

        其它省略未写。

}


3、显示成功
1.jpg

回复

使用道具 举报

23

主题

1443

回帖

1512

积分

至尊会员

积分
1512
发表于 2019-11-5 11:45:47 | 显示全部楼层
这也行! 我一直都是创建一个。
代码不规范,亲人两行泪!
回复

使用道具 举报

7

主题

85

回帖

111

积分

初级会员

积分
111
发表于 2019-11-5 19:21:14 | 显示全部楼层
第二个背景颜色是红色,显示了蓝色,貌似使用了RGB,而GUIConf.h里没有开启颜色宏定义
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
 楼主| 发表于 2019-11-6 08:22:21 | 显示全部楼层
JIKIMO 发表于 2019-11-5 19:21
第二个背景颜色是红色,显示了蓝色,貌似使用了RGB,而GUIConf.h里没有开启颜色宏定义

我把库替换成ARGB格式库了,忘了修改回来了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-18 12:21 , Processed in 0.234284 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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