硬汉嵌入式论坛

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

[emWin] swipelist控件

[复制链接]

25

主题

68

回帖

143

积分

初级会员

积分
143
发表于 2024-11-4 16:35:55 | 显示全部楼层 |阅读模式
通过SWIPELIST_CreateEx()直接创建swipelist控件,
怎样不添加其他可选性的控件(例如按钮),处理事件(进入其他页面)
如何识别我点了哪个Item菜单项然后进入对应的设置界面,回调函数应该怎么写



static void _cbSwipeItems(WM_MESSAGE* pMsg)
{
     WM_HWIN hItem;
     int Id, NCode;

     switch (pMsg->MsgId)
     {
     case WM_NOTIFY_PARENT:
         Id = WM_GetId(pMsg->hWinSrc);
         NCode = pMsg->Data.v;
         switch (Id)
         {
            case 0:
            switch (NCode)
            {
            }
            break;

         }
         break;
     default:
         SWIPELIST_Callback(pMsg);
         break;
     }
}





void MainTask(void) {
    WM_HWIN hSwipelist;
    int     i;
#ifdef WIN32
    WM_SetCreateFlags(WM_CF_MEMDEV);  // Automatic use of memory devices in simulation
#else
    WM_MULTIBUF_Enable(1);            // Automatic use of multi buffering on hardware
#endif
    GUI_Init();                       // Initialize the GUI
    //
    // Check if recommended memory for the sample is available
    //
    if (GUI_ALLOC_GetNumFreeBytes() < RECOMMENDED_MEMORY) {
        GUI_ErrorOut("Not enough memory available.");
        return;
    }
    GUI_EnableAlpha(1);
    WM_MOTION_Enable(1);              // Enable motion support
    WM_SetBkWindowColor(GUI_MAKE_COLOR(0x00252525));   // Set a default background color

    //
    // Set default color for selected items and separators
    //
    SWIPELIST_SetDefaultBkColor(SWIPELIST_CI_BK_ITEM_UNSEL, GUI_MAKE_COLOR(0x00252525));
    SWIPELIST_SetDefaultBkColor(SWIPELIST_CI_BK_ITEM_SEL, GUI_ORANGE);
    SWIPELIST_SetDefaultBkColor(SWIPELIST_CI_BK_SEP_ITEM, GUI_MAKE_COLOR(0x00252525));
    SWIPELIST_SetDefaultBitmapSpace(20);
    //
    // Create a swipelist
    //
    hSwipelist = SWIPELIST_CreateEx(0, 35, 320, 440, WM_HBKWIN, WM_CF_SHOW, 0, 0);
    WM_MOTION_SetMoveable(hSwipelist, WM_CF_MOTION_Y, 1);
    //
    // Add separators and five items under each
    //
    SWIPELIST_AddSepItem(hSwipelist, "Menu", 0);
    for (i = 0; i < NUM_ITEMS; i++)
    {
        SWIPELIST_AddItem(hSwipelist, paItemText, 55);
    }
    SWIPELIST_SetFont(hSwipelist, SWIPELIST_FI_ITEM_HEADER, &GUI_Font24_ASCII);
    SWIPELIST_SetFont(hSwipelist, SWIPELIST_FI_SEP_ITEM, &GUI_Font24B_ASCII);
    SWIPELIST_SetTextAlign(hSwipelist, 0, GUI_TA_HCENTER | GUI_TA_VCENTER);

    for (i = 0; i < NUM_ITEMS; i++) /* 设置位图 */
    {
        SWIPELIST_SetBitmap(hSwipelist, i+1, SWIPELIST_BA_LEFT| SWIPELIST_BA_TOP, &pimage_tab);
    }


    while (1) {
        GUI_Delay(100);
    }
}




回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2024-11-5 09:43:48 | 显示全部楼层
这个在模拟器里面有个swipelist的例子,你试试
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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