硬汉嵌入式论坛

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

[emWin] 求教!这个点击添加的关闭按钮,就变成一个静态页面了,这该怎么关闭啊

[复制链接]

1

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2025-1-17 11:48:31 | 显示全部楼层 |阅读模式

static void _cbDialog(WM_MESSAGE * pMsg) {
        WM_HWIN hFrameItem;
        WM_HWIN hItem;
        int                NCode;
        int                Id;

        switch (pMsg->MsgId) {
        case WM_INIT_DIALOG:
                //
                // Initialization of 'Framewin'
                //
                hFrameItem = pMsg->hWin;
                FRAMEWIN_SetTitleHeight(hFrameItem, 30);
                FRAMEWIN_SetText(hFrameItem, "BARCODE READERS");
                FRAMEWIN_SetTextAlign(hFrameItem, GUI_TA_HCENTER);
                FRAMEWIN_SetFont(hFrameItem, GUI_FONT_24_1);
                FRAMEWIN_AddCloseButton(hFrameItem, FRAMEWIN_BUTTON_RIGHT, 0);
                FRAMEWIN_AddMaxButton(hFrameItem, FRAMEWIN_BUTTON_RIGHT, 2);
                FRAMEWIN_AddMinButton(hFrameItem, FRAMEWIN_BUTTON_RIGHT, 4);
                FRAMEWIN_SetClientColor(hFrameItem, GUI_WHITE);
               
                break;

        case WM_DELETE:
//                hItem = WM_GetClientWindow(pMsg->hWin);
//                WM_DeleteWindow(hItem);
//                FRAMEWIN_Delete(pMsg->hWin);
//        case WM_SIZE:
//                printf("2NCode = %d\n", NCode);
//                printf("3Id = %04x\n", Id);
       
        default:
                WM_DefaultProc(pMsg);
                break;
  }
}

WM_HWIN CreateFramewin(void) {
        WM_HWIN hFrameItem;
        WM_HWIN hDialog;
       

        FRAMEWIN_SetDefaultSkin(FRAMEWIN_SKIN_FLEX);
        RADIO_SetDefaultSkin(RADIO_SKIN_FLEX);
        CHECKBOX_SetDefaultSkin(CHECKBOX_SKIN_FLEX);
        BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX);
        DROPDOWN_SetDefaultSkin(DROPDOWN_SKIN_FLEX);
        MULTIPAGE_SetDefaultSkin(MULTIPAGE_SKIN_FLEX);

        hFrameItem = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, 0, 0, 0);
        hMulItem = MULTIPAGE_CreateEx(0, 0, 795, 460, WM_GetClientWindow(hFrameItem), WM_CF_SHOW, 0, ID_MULTIPAGE_0);

        hDialog = GUI_CreateDialogBox(_aMulpage1DialogCreate1, GUI_COUNTOF(_aMulpage1DialogCreate1), _cbMultipage1Dialog1, hMulItem, 0, 0);
        MULTIPAGE_AddPage(hMulItem, hDialog, "Scan the code");
        MULTIPAGE_SetTabWidth(hMulItem, 100, 0);

        hDialog = GUI_CreateDialogBox(_aMulpage1DialogCreate2, GUI_COUNTOF(_aMulpage1DialogCreate2), _cbMultipage1Dialog2, hMulItem, 0, 0);
        MULTIPAGE_AddPage(hMulItem, hDialog, "Focus");
        MULTIPAGE_SetTabWidth(hMulItem, 100, 1);

        hDialog = GUI_CreateDialogBox(_aMulpage1DialogCreate3, GUI_COUNTOF(_aMulpage1DialogCreate3), _cbMultipage1Dialog3, hMulItem, 0, 0);
        MULTIPAGE_AddPage(hMulItem, hDialog, "Basic configuration");
        MULTIPAGE_SetTabWidth(hMulItem, 100, 2);

       
        hMulItem1 = MULTIPAGE_CreateEx(300, 0, 480, 410, hDialog, WM_CF_SHOW, 0, ID_MULTIPAGE_1);

        hDialog = GUI_CreateDialogBox(_aMulpage2DialogCreate1, GUI_COUNTOF(_aMulpage2DialogCreate1), _cbMultipage2Dialog1, hMulItem1, 0, 0);
        MULTIPAGE_AddPage(hMulItem1, hDialog, "Lighting control");
        MULTIPAGE_SetTabWidth(hMulItem1, 150, 0);

        hDialog = GUI_CreateDialogBox(_aMulpage2DialogCreate2, GUI_COUNTOF(_aMulpage2DialogCreate2), _cbMultipage2Dialog2, hMulItem1, 0, 0);
        MULTIPAGE_AddPage(hMulItem1, hDialog, "Symbology selection");
        MULTIPAGE_SetTabWidth(hMulItem1, 150, 1);

        MULTIPAGE_SelectPage(hMulItem, 0);
        MULTIPAGE_SelectPage(hMulItem1, 0);
       
        GUI_CURSOR_Show();
        return hFrameItem;
}

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2025-1-17 15:50:17 | 显示全部楼层
仅看楼主的代码,没有理解楼主描述的含义。
回复

使用道具 举报

1

主题

1

回帖

4

积分

新手上路

积分
4
 楼主| 发表于 2025-1-17 15:54:05 | 显示全部楼层
eric2013 发表于 2025-1-17 15:50
仅看楼主的代码,没有理解楼主描述的含义。

就是创建的FRAMEWIN框架窗口上面使用FRAMEWIN_AddCloseButton(hFrameItem, FRAMEWIN_BUTTON_RIGHT, 0);添加了一个关闭按钮,但是它没有分配ID,现在不知道怎么实现
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2025-1-18 09:25:56 | 显示全部楼层
TomJery 发表于 2025-1-17 15:54
就是创建的FRAMEWIN框架窗口上面使用FRAMEWIN_AddCloseButton(hFrameItem, FRAMEWIN_BUTTON_RIGHT, 0);添 ...

可以单独添加个button,回调里面关闭窗口。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-25 21:58 , Processed in 0.352006 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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