|

楼主 |
发表于 2017-2-15 10:33:45
|
显示全部楼层
回 eric2013 的帖子
- void MainTask()
- {
- u8 i;
- CPU_SR_ALLOC();
- char *p;
- OS_ERR err;
- /* 使能所有窗口使用emWin内存设备,包括桌面窗口 */
- WM_SetCreateFlags(WM_CF_MEMDEV);
-
- /* 初始化并创建对话框 */
- GUI_Init();
- WM_SetDesktopColor(GUI_BLUE);
-
- /* 设置皮肤上 */
- FRAMEWIN_SetDefaultSkin(FRAMEWIN_SKIN_FLEX);
- BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX);
-
- hWinMain = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
-
- /*在指定位置创建指定尺寸的ICONVIEW 小工具*/
- hWinICON = ICONVIEW_CreateEx(60, /* 小工具的最左像素(在父坐标中)*/
- 140, /* 小工具的最上像素(在父坐标中)*/
- 440, /* 小工具的水平尺寸(单位:像素)*/
- 700, /* 小工具的垂直尺寸(单位:像素)*/
- hWinMain, /* 父窗口的句柄。如果为0,则新小工具将成为桌面(顶级窗口)的子窗口*/
- WM_CF_SHOW | WM_CF_HASTRANS, /* 窗口创建标志。为使小工具立即可见,通常使用 WM_CF_SHOW */
- 0, //ICONVIEW_CF_AUTOSCROLLBAR_V, /* 默认是0,如果不够现实可设置增减垂直滚动条 */
- GUI_ID_ICONVIEW0, /* 小工具的窗口ID */
- 128, /* 图标的水平尺寸 */
- 128); /* 图标的垂直尺寸 */
-
- /* 向ICONVIEW 小工具添加新图标 */
- for (i = 0; i < GUI_COUNTOF(_aBitmapItem); i++)
- {
- ICONVIEW_AddBitmapItem(hWinICON, _aBitmapItem[i].pBitmap,_aBitmapItem[i].pText );
- }
-
- /* 设置小工具的背景色 32 位颜色值的前8 位可用于alpha混合处理效果*/
- ICONVIEW_SetBkColor(hWinICON, ICONVIEW_CI_SEL, GUI_WHITE | 0x80000000);
-
- /* 设置字体 */
- ICONVIEW_SetFont(hWinICON, &GUI_FontHZ24);
-
- /* 设置图标在x 或y 方向上的间距*/
- ICONVIEW_SetSpace(hWinICON, GUI_COORD_Y, 60);
- ICONVIEW_SetSpace(hWinICON, GUI_COORD_X, 100);
-
- /* 设置对齐方式 在5.22版本中最新加入的 */
- ICONVIEW_SetIconAlign(hWinICON, ICONVIEW_IA_HCENTER|ICONVIEW_IA_TOP);
-
- while(1)
- {
- TEXT_SetText(WM_GetDialogItem(hWinInfo,ID_TEXT_2),temp);
- TEXT_SetText(WM_GetDialogItem(hWinInfo,ID_TEXT_4),humid);
- TEXT_SetText(WM_GetDialogItem(hWinInfo,ID_TEXT_6),light);
- TEXT_SetText(WM_GetDialogItem(hWinInfo,ID_TEXT_8),air);
- GUI_Delay(50);
- }
- }
复制代码 这是我的主任务函数,在while(1)中更新子窗口的控件,然后一旦退出子窗口后,子窗口的句柄就无效了,TEXT_SetText()函数的参数就错误了 |
|