硬汉嵌入式论坛

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

[emWin] 创建窗口包含LISTVIEW 显示不正常

[复制链接]

32

主题

297

回帖

393

积分

高级会员

积分
393
发表于 2017-7-18 11:39:41 | 显示全部楼层 |阅读模式
各位好!
参考V6教程 STemwin多个窗口切换方法,实现一个窗口包含 LISTVIEW控件
遇到一个问题:窗口大小设置成128*64  因为实际使用的是黑白色的LCD液晶屏,但是现实的LISTVIEW 不是从坐标0,0开始的,而是存在一个偏移量。
请教一下这样的问题需要怎么解决? 先谢过给位了;


JHJ6DKN@THXC}CI[WP2P[1B.png



实际显示应该是这样的的:
EZHB[U$_3FEWOQFA@LO`AO8.png




static const GUI_WIDGET_CREATE_INFO _aDialogCreate1[] =
{
    { FRAMEWIN_CreateIndirect,    "AR",                                            0,    0,   0,  128,  64,  0},
    { LISTVIEW_CreateIndirect,     NULL,        GUI_ID_LISTVIEW0,  0,   0,  128,  64,  0,   0},
};

创建窗口代码:

static WM_HWIN CreateFramewin1(void)
{
  WM_HWIN hWin;

  hWin = GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), _cbDialog1, WM_HBKWIN, 0, 0);
  return hWin;
}

代码是参考硬汉V6里面音乐播放器的代码创建的:
完整的代码:
  1. /*********************************************************************
  2. *                SEGGER Microcontroller GmbH & Co. KG                *
  3. *        Solutions for real time microcontroller applications        *
  4. **********************************************************************
  5. *                                                                    *
  6. *        (c) 1996 - 2015  SEGGER Microcontroller GmbH & Co. KG       *
  7. *                                                                    *
  8. *        Internet: www.segger.com    Support:  support@segger.com    *
  9. *                                                                    *
  10. **********************************************************************
  11. ** emWin V5.32 - Graphical user interface for embedded applications **
  12. emWin is protected by international copyright laws.   Knowledge of the
  13. source code may not be used to write a similar product.  This file may
  14. only  be used  in accordance  with  a license  and should  not be  re-
  15. distributed in any way. We appreciate your understanding and fairness.
  16. ----------------------------------------------------------------------
  17. File        : WIDGET_ListView.c
  18. Purpose     : Demonstrates the use of header widgets
  19. Requirements: WindowManager - (x)
  20.               MemoryDevices - (x)
  21.               AntiAliasing  - ( )
  22.               VNC-Server    - ( )
  23.               PNG-Library   - ( )
  24.               TrueTypeFonts - ( )
  25. ---------------------------END-OF-HEADER------------------------------
  26. */
  27. #include <stddef.h>
  28. #include <string.h>
  29. #include "GUI.h"
  30. #include "LISTVIEW.h"
  31. #include "FRAMEWIN.h"
  32. /*********************************************************************
  33. *
  34. *       Defines
  35. *
  36. **********************************************************************
  37. */
  38. #define SPEED 500
  39. //
  40. // Recommended memory to run the sample with adequate performance
  41. //
  42. #define RECOMMENDED_MEMORY (1024L * 10)
  43. /*********************************************************************
  44. *
  45. *       Static data
  46. *
  47. **********************************************************************
  48. */
  49. static const char * _aTable_1[][2] =
  50. {
  51.     { "1", "Item 1" },
  52.     { "2", "Item 2" },
  53.     { "3", "Item 3" },
  54.     { "4", "Item 4" },
  55.     { "5", "Item 5" },
  56.     { "6", "Item 6" },
  57.     { "7", "Item 7" },
  58.     { "7", "Item 8" },
  59.     { "9", "Item 9" },
  60.     { "10", "Item 10" },
  61.     { "11", "Item 11" }
  62. };
  63. static const GUI_WIDGET_CREATE_INFO _aDialogCreate1[] =
  64. {
  65.     { FRAMEWIN_CreateIndirect,    "AR",          0,                 0,   0,  128,  64,  0},
  66.     { LISTVIEW_CreateIndirect,     NULL,        GUI_ID_LISTVIEW0,   0,   0,  128,  64,  0, 0},
  67. };
  68. /*********************************************************************
  69. *
  70. *       Static code
  71. *
  72. **********************************************************************
  73. */
  74. /*********************************************************************
  75. *
  76. *       Prototypes
  77. *
  78. **********************************************************************
  79. */
  80. static void _cbDialog1(WM_MESSAGE * pMsg);
  81. /*
  82. *********************************************************************************************************
  83. *    函 数 名: InitDialog
  84. *    功能说明: 初始化函数
  85. *    形    参: pMsg
  86. *    返 回 值: 无
  87. *********************************************************************************************************
  88. */
  89. void InitDialogTask(WM_MESSAGE * pMsg)
  90. {
  91.     WM_HWIN hWin = pMsg->hWin;
  92.     HEADER_Handle hHeader;
  93.    
  94.    
  95.     char buf[100];
  96.     char searchbuf[100];   
  97.     int i = 0;
  98.     SCROLLBAR_Handle hScrollbar;
  99.    
  100.     int uiTotalTime;
  101.     /* 设置框架窗口的Title 直接隐藏即可 */
  102.     FRAMEWIN_SetTitleHeight(hWin,12);
  103.     FRAMEWIN_SetTitleVis(hWin,0);
  104.      
  105.     /* 设置listview控件上的header */
  106.     hHeader = LISTVIEW_GetHeader(WM_GetDialogItem(hWin, GUI_ID_LISTVIEW0));
  107.     HEADER_SetFont(hHeader, &GUI_Font8x8);
  108.     HEADER_SetHeight(hHeader, 12);
  109.    
  110.     /* 设置输入焦点 */
  111.     WM_SetFocus(WM_GetDialogItem(hWin, GUI_ID_LISTVIEW0));
  112.     /* 设置listview控件上的SCROLLBAR */
  113.     hScrollbar = SCROLLBAR_CreateAttached(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), SCROLLBAR_CF_VERTICAL);
  114.     SCROLLBAR_SetWidth(hScrollbar, 20);
  115.     //SCROLLBAR_SetDefaultWidth(35);
  116.     /* 设置LISTVIEW控件 */
  117.     LISTVIEW_SetFont(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0),  &GUI_Font8x8);
  118.     LISTVIEW_SetRowHeight(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), 12);
  119.     LISTVIEW_AddColumn(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), 40, "A1", GUI_TA_VCENTER|GUI_TA_LEFT);
  120.     LISTVIEW_AddColumn(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), 55, "A2", GUI_TA_VCENTER|GUI_TA_LEFT);
  121.     //LISTVIEW_AddColumn(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), 30, "A3", GUI_TA_VCENTER|GUI_TA_LEFT);
  122.    
  123.     LISTVIEW_SetColumnWidth(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), 0, 40);
  124.     LISTVIEW_SetColumnWidth(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), 1, 55);
  125.     //LISTVIEW_SetColumnWidth(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), 2, 35);
  126.     for (i = 0; i < GUI_COUNTOF(_aTable_1); i++)
  127.     {
  128.         LISTVIEW_AddRow(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), _aTable_1[i]);
  129.     }
  130.    
  131.     ////////////////////////////////////////////////////////////////////
  132.     /* 演示功能 自动上移和下移 */
  133.     for (i = 0; i < LISTVIEW_GetNumRows(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0)); i++)
  134.     {
  135.         LISTVIEW_IncSel(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0));
  136.         GUI_Delay(SPEED / 4);
  137.     }
  138.    
  139.     GUI_Delay(SPEED / 4);
  140.    
  141.     for (i = 0; i < LISTVIEW_GetNumRows(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0)); i++)
  142.     {
  143.         LISTVIEW_DecSel(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0));
  144.         GUI_Delay(SPEED / 4);
  145.     }
  146.    
  147.     GUI_Delay(SPEED * 4);
  148.    
  149.     ////////////////////////////////////////////////////////////////////
  150. }
  151. /*********************************************************************
  152. *
  153. *       Static code
  154. *
  155. **********************************************************************
  156. */
  157. /*********************************************************************
  158. *
  159. *       _cbDialog1
  160. */
  161. static void _cbDialog1(WM_MESSAGE * pMsg)
  162. {
  163.     WM_HWIN hItem;
  164.     int     NCode;
  165.     int     Id;
  166.     switch (pMsg->MsgId)
  167.     {
  168.         case WM_INIT_DIALOG:
  169.             //初始化
  170.             InitDialogTask(pMsg);
  171.    
  172.             break;
  173.             
  174.         case WM_NOTIFY_PARENT:
  175.         
  176.             Id    = WM_GetId(pMsg->hWinSrc);
  177.             NCode = pMsg->Data.v;
  178.             
  179.             switch(Id)
  180.             {
  181.                 //case ID_BUTTON_0: // Notifications sent by 'Button'
  182.                 //    switch(NCode)
  183.                 //    {
  184.                 //        case WM_NOTIFICATION_CLICKED:
  185.                 //            // USER START (Optionally insert code for reacting on notification message)
  186.                 //            // USER END
  187.                 //        break;
  188.                 //        
  189.                 //        case WM_NOTIFICATION_RELEASED:
  190.                 //            GUI_EndDialog(pMsg->hWin, 0);
  191.                 //            //GUI_CreateDialogBox(_aDialogCreate2, GUI_COUNTOF(_aDialogCreate2), _cbDialog2, WM_HBKWIN, 0, 0);
  192.                 //        break;
  193.                 //    }
  194.                 //break;
  195.                 //
  196.                 //case ID_BUTTON_1: // Notifications sent by 'Button'
  197.                 //    switch(NCode)
  198.                 //    {
  199.                 //        case WM_NOTIFICATION_CLICKED:
  200.                 //            // USER START (Optionally insert code for reacting on notification message)
  201.                 //            // USER END
  202.                 //        break;
  203.                 //        case WM_NOTIFICATION_RELEASED:
  204.                 //            GUI_EndDialog(pMsg->hWin, 0);
  205.                 //            //GUI_CreateDialogBox(_aDialogCreate3, GUI_COUNTOF(_aDialogCreate3), _cbDialog3, WM_HBKWIN, 0, 0);
  206.                 //        break;
  207.                 //    }
  208.                 //break;
  209.                
  210.             }
  211.             break;
  212.         
  213.         default:
  214.             WM_DefaultProc(pMsg);
  215.         break;
  216.     }
  217.   
  218. }
  219. /*********************************************************************
  220. *
  221. *       CreateFramewin1
  222. */
  223. static WM_HWIN CreateFramewin1(void)
  224. {
  225.   WM_HWIN hWin;
  226.   hWin = GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), _cbDialog1, WM_HBKWIN, 0, 0);
  227.   return hWin;
  228. }
  229. /*********************************************************************
  230. *
  231. *       Public code
  232. *
  233. **********************************************************************
  234. */
  235. /*********************************************************************
  236. *
  237. *       MainTask
  238. */
  239. void MainTask(void)
  240. {
  241.     GUI_Init();
  242.    
  243.     //
  244.     // Check if recommended memory for the sample is available
  245.     //
  246.    
  247.     if (GUI_ALLOC_GetNumFreeBytes() < RECOMMENDED_MEMORY)
  248.     {
  249.         GUI_ErrorOut("Not enough memory available.");
  250.         return;
  251.     }
  252.    
  253.     CreateFramewin1();
  254.    
  255.     while (1)
  256.     {
  257.         GUI_Delay(100);
  258.     }
  259. }
  260. /*************************** End of file ****************************/
复制代码
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115749
QQ
发表于 2017-7-18 12:01:44 | 显示全部楼层
将这里
static const GUI_WIDGET_CREATE_INFO _aDialogCreate1[] =
{
    { FRAMEWIN_CreateIndirect,    "AR",                                            0,    0,   0,  128,  64,  0},
    { LISTVIEW_CreateIndirect,     NULL,        GUI_ID_LISTVIEW0,  0,   0,  128,  64,  0,   0},
};

的框架窗口创建,改成WINDOW,即WINDOW_CreateIndirect,
回复

使用道具 举报

32

主题

297

回帖

393

积分

高级会员

积分
393
 楼主| 发表于 2017-7-18 12:12:35 | 显示全部楼层
好的,谢谢eric2013
回复

使用道具 举报

32

主题

297

回帖

393

积分

高级会员

积分
393
 楼主| 发表于 2017-7-18 14:35:03 | 显示全部楼层
感谢eric2013,刚刚试了一下改成WINDOW_CreateIndirect之后直接不能显示了,会报错
回复

使用道具 举报

3

主题

15

回帖

3

积分

新手上路

积分
3
发表于 2017-7-18 15:03:30 | 显示全部楼层
128*64的没必要用窗口管理了。
回复

使用道具 举报

3

主题

15

回帖

3

积分

新手上路

积分
3
发表于 2017-7-18 15:03:53 | 显示全部楼层
还是黑白的。。。不上彩屏我都不上窗口的
回复

使用道具 举报

32

主题

297

回帖

393

积分

高级会员

积分
393
 楼主| 发表于 2017-7-18 15:08:15 | 显示全部楼层

回 tanic 的帖子

tanic:还是黑白的。。。不上彩屏我都不上窗口的 (2017-07-18 15:03) 
这样以后升级成彩屏的时候方便一些,之前对这些GUI也不熟悉,
回复

使用道具 举报

3

主题

15

回帖

3

积分

新手上路

积分
3
发表于 2017-7-18 15:12:21 | 显示全部楼层
我也正在学习   800*480的彩屏  哈哈哈哈[s:142]
回复

使用道具 举报

3

主题

15

回帖

3

积分

新手上路

积分
3
发表于 2017-7-18 15:12:59 | 显示全部楼层
你可以把标窗口题栏隐藏试试
回复

使用道具 举报

32

主题

297

回帖

393

积分

高级会员

积分
393
 楼主| 发表于 2017-7-18 15:15:46 | 显示全部楼层

回 tanic 的帖子

tanic:你可以把标窗口题栏隐藏试试 (2017-07-18 15:12) 
初始化的时候已经隐藏了   
/* 设置框架窗口的Title 直接隐藏即可 */
    FRAMEWIN_SetTitleHeight(hWin,12);
    FRAMEWIN_SetTitleVis(hWin,0);

FRAMEWIN_SetTitleVis这个函数应该就是隐藏了吧
回复

使用道具 举报

32

主题

297

回帖

393

积分

高级会员

积分
393
 楼主| 发表于 2017-7-18 15:17:16 | 显示全部楼层
现在主要是想让这个 LISTVIEW 控件显示位置从0 0位置开始, FRAMEWIN直接隐藏起来
回复

使用道具 举报

3

主题

15

回帖

3

积分

新手上路

积分
3
发表于 2017-7-18 15:27:04 | 显示全部楼层
高度设置为0试试,不行就设置为1[s:148]
回复

使用道具 举报

3

主题

15

回帖

3

积分

新手上路

积分
3
发表于 2017-7-18 15:30:40 | 显示全部楼层
或者移动窗口到负坐标[s:140]
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115749
QQ
发表于 2017-7-18 15:38:15 | 显示全部楼层
修改好了,你试下,对话框主题窗口修改成WINDOW的话,相关框架窗口的设置得注释掉,这样就没问题了,另外记得加上头文件DIALOG.h


QQ图片20170718153519.png


   代码:
  1. /*********************************************************************
  2. *                SEGGER Microcontroller GmbH & Co. KG                *
  3. *        Solutions for real time microcontroller applications        *
  4. **********************************************************************
  5. *                                                                    *
  6. *        (c) 1996 - 2015  SEGGER Microcontroller GmbH & Co. KG       *
  7. *                                                                    *
  8. *        Internet: www.segger.com    Support:  support@segger.com    *
  9. *                                                                    *
  10. **********************************************************************
  11. ** emWin V5.32 - Graphical user interface for embedded applications **
  12. emWin is protected by international copyright laws.   Knowledge of the
  13. source code may not be used to write a similar product.  This file may
  14. only  be used  in accordance  with  a license  and should  not be  re-
  15. distributed in any way. We appreciate your understanding and fairness.
  16. ----------------------------------------------------------------------
  17. File        : WIDGET_ListView.c
  18. Purpose     : Demonstrates the use of header widgets
  19. Requirements: WindowManager - (x)
  20.               MemoryDevices - (x)
  21.               AntiAliasing  - ( )
  22.               VNC-Server    - ( )
  23.               PNG-Library   - ( )
  24.               TrueTypeFonts - ( )
  25. ---------------------------END-OF-HEADER------------------------------
  26. */
  27. #include <stddef.h>
  28. #include <string.h>
  29. #include "GUI.h"
  30. #include "LISTVIEW.h"
  31. #include "FRAMEWIN.h"
  32. #include "DIALOG.h"
  33. /*********************************************************************
  34. *
  35. *       Defines
  36. *
  37. **********************************************************************
  38. */
  39. #define SPEED 500
  40. //
  41. // Recommended memory to run the sample with adequate performance
  42. //
  43. #define RECOMMENDED_MEMORY (1024L * 10)
  44. /*********************************************************************
  45. *
  46. *       Static data
  47. *
  48. **********************************************************************
  49. */
  50. static const char * _aTable_1[][2] =
  51. {
  52.     { "1", "Item 1" },
  53.     { "2", "Item 2" },
  54.     { "3", "Item 3" },
  55.     { "4", "Item 4" },
  56.     { "5", "Item 5" },
  57.     { "6", "Item 6" },
  58.     { "7", "Item 7" },
  59.     { "7", "Item 8" },
  60.     { "9", "Item 9" },
  61.     { "10", "Item 10" },
  62.     { "11", "Item 11" }
  63. };
  64. static const GUI_WIDGET_CREATE_INFO _aDialogCreate1[] =
  65. {
  66.     { WINDOW_CreateIndirect,    "AR",          0,                 0,   0,  128,  64,  0},
  67.     { LISTVIEW_CreateIndirect,     NULL,        GUI_ID_LISTVIEW0,   0,   0,  128,  64,  0, 0},
  68. };
  69. /*********************************************************************
  70. *
  71. *       Static code
  72. *
  73. **********************************************************************
  74. */
  75. /*********************************************************************
  76. *
  77. *       Prototypes
  78. *
  79. **********************************************************************
  80. */
  81. static void _cbDialog1(WM_MESSAGE * pMsg);
  82. /*
  83. *********************************************************************************************************
  84. *    函 数 名: InitDialog
  85. *    功能说明: 初始化函数
  86. *    形    参: pMsg
  87. *    返 回 值: 无
  88. *********************************************************************************************************
  89. */
  90. void InitDialogTask(WM_MESSAGE * pMsg)
  91. {
  92.     WM_HWIN hWin = pMsg->hWin;
  93.     HEADER_Handle hHeader;
  94.    
  95.    
  96.     char buf[100];
  97.     char searchbuf[100];   
  98.     int i = 0;
  99.     SCROLLBAR_Handle hScrollbar;
  100.    
  101.     int uiTotalTime;
  102.     /* 设置框架窗口的Title 直接隐藏即可 */
  103.     //FRAMEWIN_SetTitleHeight(hWin,12);
  104.     //FRAMEWIN_SetTitleVis(hWin,0);
  105.    
  106.     /* 设置listview控件上的header */
  107.     hHeader = LISTVIEW_GetHeader(WM_GetDialogItem(hWin, GUI_ID_LISTVIEW0));
  108.     HEADER_SetFont(hHeader, &GUI_Font8x8);
  109.     HEADER_SetHeight(hHeader, 12);
  110.    
  111.     /* 设置输入焦点 */
  112.     WM_SetFocus(WM_GetDialogItem(hWin, GUI_ID_LISTVIEW0));
  113.     /* 设置listview控件上的SCROLLBAR */
  114.     hScrollbar = SCROLLBAR_CreateAttached(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), SCROLLBAR_CF_VERTICAL);
  115.     SCROLLBAR_SetWidth(hScrollbar, 20);
  116.     //SCROLLBAR_SetDefaultWidth(35);
  117.     /* 设置LISTVIEW控件 */
  118.     LISTVIEW_SetFont(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0),  &GUI_Font8x8);
  119.     LISTVIEW_SetRowHeight(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), 12);
  120.     LISTVIEW_AddColumn(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), 40, "A1", GUI_TA_VCENTER|GUI_TA_LEFT);
  121.     LISTVIEW_AddColumn(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), 55, "A2", GUI_TA_VCENTER|GUI_TA_LEFT);
  122.     //LISTVIEW_AddColumn(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), 30, "A3", GUI_TA_VCENTER|GUI_TA_LEFT);
  123.    
  124.     LISTVIEW_SetColumnWidth(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), 0, 40);
  125.     LISTVIEW_SetColumnWidth(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), 1, 55);
  126.     //LISTVIEW_SetColumnWidth(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), 2, 35);
  127.     for (i = 0; i < GUI_COUNTOF(_aTable_1); i++)
  128.     {
  129.         LISTVIEW_AddRow(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), _aTable_1[i]);
  130.     }
  131.    
  132.     ////////////////////////////////////////////////////////////////////
  133.     /* 演示功能 自动上移和下移 */
  134.     for (i = 0; i < LISTVIEW_GetNumRows(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0)); i++)
  135.     {
  136.         LISTVIEW_IncSel(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0));
  137.         GUI_Delay(SPEED / 4);
  138.     }
  139.    
  140.     GUI_Delay(SPEED / 4);
  141.    
  142.     for (i = 0; i < LISTVIEW_GetNumRows(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0)); i++)
  143.     {
  144.         LISTVIEW_DecSel(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0));
  145.         GUI_Delay(SPEED / 4);
  146.     }
  147.    
  148.     GUI_Delay(SPEED * 4);
  149.    
  150.     ////////////////////////////////////////////////////////////////////
  151. }
  152. /*********************************************************************
  153. *
  154. *       Static code
  155. *
  156. **********************************************************************
  157. */
  158. /*********************************************************************
  159. *
  160. *       _cbDialog1
  161. */
  162. static void _cbDialog1(WM_MESSAGE * pMsg)
  163. {
  164.     WM_HWIN hItem;
  165.     int     NCode;
  166.     int     Id;
  167.     switch (pMsg->MsgId)
  168.     {
  169.         case WM_INIT_DIALOG:
  170.             //初始化
  171.             InitDialogTask(pMsg);
  172.    
  173.             break;
  174.             
  175.         case WM_NOTIFY_PARENT:
  176.         
  177.             Id    = WM_GetId(pMsg->hWinSrc);
  178.             NCode = pMsg->Data.v;
  179.             
  180.             switch(Id)
  181.             {
  182.                 //case ID_BUTTON_0: // Notifications sent by 'Button'
  183.                 //    switch(NCode)
  184.                 //    {
  185.                 //        case WM_NOTIFICATION_CLICKED:
  186.                 //            // USER START (Optionally insert code for reacting on notification message)
  187.                 //            // USER END
  188.                 //        break;
  189.                 //        
  190.                 //        case WM_NOTIFICATION_RELEASED:
  191.                 //            GUI_EndDialog(pMsg->hWin, 0);
  192.                 //            //GUI_CreateDialogBox(_aDialogCreate2, GUI_COUNTOF(_aDialogCreate2), _cbDialog2, WM_HBKWIN, 0, 0);
  193.                 //        break;
  194.                 //    }
  195.                 //break;
  196.                 //
  197.                 //case ID_BUTTON_1: // Notifications sent by 'Button'
  198.                 //    switch(NCode)
  199.                 //    {
  200.                 //        case WM_NOTIFICATION_CLICKED:
  201.                 //            // USER START (Optionally insert code for reacting on notification message)
  202.                 //            // USER END
  203.                 //        break;
  204.                 //        case WM_NOTIFICATION_RELEASED:
  205.                 //            GUI_EndDialog(pMsg->hWin, 0);
  206.                 //            //GUI_CreateDialogBox(_aDialogCreate3, GUI_COUNTOF(_aDialogCreate3), _cbDialog3, WM_HBKWIN, 0, 0);
  207.                 //        break;
  208.                 //    }
  209.                 //break;
  210.                
  211.             }
  212.             break;
  213.         
  214.         default:
  215.             WM_DefaultProc(pMsg);
  216.         break;
  217.     }
  218.   
  219. }
  220. /*********************************************************************
  221. *
  222. *       CreateFramewin1
  223. */
  224. static WM_HWIN CreateFramewin1(void)
  225. {
  226.   WM_HWIN hWin;
  227.   hWin = GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), _cbDialog1, WM_HBKWIN, 0, 0);
  228.   return hWin;
  229. }
  230. /*********************************************************************
  231. *
  232. *       Public code
  233. *
  234. **********************************************************************
  235. */
  236. /*********************************************************************
  237. *
  238. *       MainTask
  239. */
  240. void MainTask(void)
  241. {
  242.     GUI_Init();
  243.    
  244.     //
  245.     // Check if recommended memory for the sample is available
  246.     //
  247.    
  248.     if (GUI_ALLOC_GetNumFreeBytes() < RECOMMENDED_MEMORY)
  249.     {
  250.         GUI_ErrorOut("Not enough memory available.");
  251.         return;
  252.     }
  253.    
  254.     CreateFramewin1();
  255.    
  256.     while (1)
  257.     {
  258.         GUI_Delay(100);
  259.     }
  260. }
  261. /*************************** End of file ****************************/
复制代码
回复

使用道具 举报

3

主题

15

回帖

3

积分

新手上路

积分
3
发表于 2017-7-18 15:58:11 | 显示全部楼层
[s:141]
回复

使用道具 举报

32

主题

297

回帖

393

积分

高级会员

积分
393
 楼主| 发表于 2017-7-18 16:22:38 | 显示全部楼层
多谢eric2013,真的很抱歉,
看你的代码才明白了,换成WINDOW_CreateIndirect 之后,因为整个界面里面没有了FRAMEWIN 控件,如果再去设置的话肯定会出现问题的,
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115749
QQ
发表于 2017-7-19 00:55:53 | 显示全部楼层

回 weiyuliang 的帖子

weiyuliang:多谢eric2013,真的很抱歉,
看你的代码才明白了,换成WINDOW_CreateIndirect 之后,因为整个界面里面没有了FRAMEWIN 控件,如果再去设置的话肯定会出现问题的,
 (2017-07-18 16:22) 
[s:130]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-15 15:20 , Processed in 0.356280 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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