/******************************************************************* * * _DemoCreateWindow Demonstrates the use of WM_CreateWindow */ static void _DemoCreateWindow(void) { /* Set callback for background window */ _cbBkWindowOld = WM_SetCallback(WM_HBKWIN, _cbBkWindow); /* Create windows */ _ChangeInfoText("WM_CreateWindow()"); GUI_Delay(SPEED); _hWindow1 = WM_CreateWindow( 50, 70, 165, 100, WM_CF_SHOW | WM_CF_MEMDEV, _cbWindow1, 0); GUI_Delay(SPEED/3); _hWindow2 = WM_CreateWindow(105, 125, 165, 100, WM_CF_SHOW | WM_CF_MEMDEV, _cbWindow2, 0); GUI_Delay(SPEED); }
/******************************************************************* * * MainTask * ******************************************************************** */ void MainTask_AppCalendar(void) { WM_HWIN hWinCalendar; u32 curtimestamp = 0; struct tm currUtime; //Init Time curtimestamp = Time_GetRTCTimeByUnix(); currUtime = Time_ConvUnixToCalendar(curtimestamp); cldDate.year = currUtime.tm_year; cldDate.month = currUtime.tm_mon+1; cldDate.day = currUtime.tm_mday; if (currUtime.tm_wday == 0) cldDate.weekday = 7; else cldDate.weekday = currUtime.tm_wday; //GUI_Init(); hWinCalendar = WM_CreateWindow(320, 0, 320, 240, WM_CF_SHOW, _cbCalendar, 0); WM_SetFocus(hWinCalendar); _MoveShiftWindow(&hWinCalendar, MEMDEV_ANIMATION_LEFT, WM_Shift_ToLCD, 0); WM_EnableMemdev(hWinCalendar); _ShowButton(hWinCalendar); while (!GUI_CheckCancel(APP_Calendar)) { //GUI_Delay(10); GUI_Exec(); GUI_X_ExecIdle(); } WM_DeleteWindow(hWinCalendar); hWinCalendar = 0; }
void MainTask_DeskTop(void) { int i; WM_HWIN Win1,Button1,Button2; GUI_Init(); FS_Init(); AddRelateFile("TXT","文本",_DemoMultiedit); AddRelateFile("MP3","音乐",_DemoMp3); // ucfs_sim_init(); // Win1 = WM_CreateWindow(0,0,480,270,WM_CF_SHOW,NULL,0); Win1 = WM_CreateWindow(0,0,480,272,WM_CF_SHOW,_cbWindow1,0); //houhh 20061024... WM_SelectWindow(Win1); #if 1 GUI_SetColor(GUI_WHITE); GUI_SetBkColor(GUI_BLUE); GUI_SetFont(&GUI_FontHZ12); GUI_Clear(); #endif CreateButton(Win1,pButton,480,272); while (1) { if (!GUI_Exec()) GUI_X_ExecIdle(); } // ucfs_sim_deinit(); }
/********************************************************************* * * _DemoHeaderWin */ static void _DemoHeaderWin(void) { WM_HWIN hWin; _ChangeMainText("HEADER control inside a window"); hWin = WM_CreateWindow(10, 80, 300, 140, WM_CF_SHOW, _cbWindow, 0); _hHeader = HEADER_CreateAttached(hWin, 1234, 0); _Demo(); WM_DeleteWindow(hWin); }
U8 CreateDistortionScreen(void* pPara) { int x,y; x=GUI_GetScreenSizeX(); y=GUI_GetScreenSizeY(); disIndex = 0; hDistortion = WM_CreateWindow(0, 0, x, y, /*WM_CF_SHOW | */WM_CF_MEMDEV, DistortionProc, 0); return 0; }
U8 CreateSynthScreen(void* pPara) { int x,y; x=GUI_GetScreenSizeX(); y=GUI_GetScreenSizeY(); hSynth = WM_CreateWindow(0, 0, x, y, /*WM_CF_SHOW | */WM_CF_MEMDEV, SynthProc, 0); CreateMIDIControlScreen(0); CreateControlAssignmentsScreen(0); CreateVoiceScreen(0); return 0; }
/******************************************************************* * * MainTask * ******************************************************************** */ void MainTask_AppMenu(void) { WM_HWIN hWinMenu; GUI_Init(); hWinMenu = WM_CreateWindow(0, 0, 320, 240, WM_CF_SHOW, _cbMenu, 0); WM_SetFocus(hWinMenu); WM_EnableMemdev(hWinMenu); while (!GUI_CheckCancel(APP_MainMenu)) { GUI_Delay(10); } WM_DisableWindow(hWinMenu); }
/******************************************************************* * * _DemoTransWindow */ static void _DemoTransWindow(void) { WM_HWIN hTransWin; WM_HWIN hFrameWin; WM_SetDesktopColor(GUI_RED); hTransWin = WM_CreateWindow(10, 10, 72, 52, WM_CF_SHOW | WM_CF_HASTRANS | WM_CF_STAYONTOP, _cbTransWindow, 0); hFrameWin = FRAMEWIN_Create("Framewin", 0, WM_CF_SHOW, 100, 70, 120, 100); FRAMEWIN_SetActive(hFrameWin, 1); FRAMEWIN_SetMoveable(hFrameWin, 1); GUI_CURSOR_Show(); while (1) { WM_InvalidateWindow(hTransWin); GUI_Delay(20); } }
/* ***************************************************************** * * * WM_Init * * * ***************************************************************** */ void WM_Init(void) { if (!_IsInited) { WM_HWIN hWin; NextDrawWin = WM__FirstWin = WM_HWIN_NULL; GUI_Context.WM__pUserClipRect = NULL; WM__NumWindows = WM__NumInvalidWindows =0; /* Make sure we have at least one window. This greatly simplifies the drawing routines as they do not have to check if the window is valid. */ hWin = WM_CreateWindow(0, 0, GUI_XMAX, GUI_YMAX, WM_CF_SHOW, cbBackWin, 0); WM_SelectWindow(hWin); WM_Activate(); _IsInited =1; } }
void MainTask_AppCalculator(void) { WM_HWIN hWinCalculator; hWinCalculator = WM_CreateWindow(320, 0, 320, 240, WM_CF_SHOW, _cbCalculator, 0); WM_SetFocus(hWinCalculator); _MoveShiftWindow(&hWinCalculator, MEMDEV_ANIMATION_LEFT, WM_Shift_ToLCD, 0); WM_EnableMemdev(hWinCalculator); CreateCalculator(hWinCalculator); while (!GUI_CheckCancel(APP_Calculator)) { GUI_Delay(10); } WM_DeleteWindow(hWinCalculator); hWinCalculator = 0; }
/******************************************************************* * * _MoveWindow */ static void _MoveWindow(const char* pText) { WM_HWIN hWnd; int i; /* Create foreground window */ hWnd = WM_CreateWindow(10, 50, 150, 100, WM_CF_SHOW, _cbWindow, 0); GUI_Delay(500); /* Move foreground window */ for (i = 0; i < 40; i++) { WM_MoveWindow(hWnd, 2, 2); GUI_Delay(10); } /* Show text before deleting window if we have one */ if (pText) { GUI_DispStringAt(pText, 5, 50); GUI_Delay(2500); } /* Delete foreground window */ WM_DeleteWindow(hWnd); WM_Invalidate(WM_HBKWIN); GUI_Exec(); }
/******************************************************************* * * _DemoScrollbarMove This function creates the window and his child objects. Then it runs into a idle-loop, so that the window manager can handle the objects. */ static void _DemoScrollbarMove(void) { int x, y; WM_HWIN hWindow; SCROLLBAR_Handle hScroll; /* Clear display and display headline */ GUI_SetBkColor(GUI_BLUE); GUI_Clear(); GUI_SetColor(GUI_WHITE); GUI_SetFont(&GUI_Font24_ASCII); GUI_SetTextAlign(GUI_TA_HCENTER); GUI_DispStringAt("SCROLLBAR_Move - Sample", 160, 5); GUI_SetTextAlign(GUI_TA_LEFT); GUI_SetColor(0xFFFFFF); GUI_SetFont(&GUI_Font8x16); /* Create the window */ hWindow = WM_CreateWindow(50, 90, 220, 79, WM_CF_SHOW, &_cbWindow, 0); /* Create the scrollbar */ hScroll = SCROLLBAR_CreateAttached(hWindow, 0); SCROLLBAR_SetNumItems(hScroll, 48 * EDIT_MAX_X); SCROLLBAR_SetPageSize(hScroll, 220); /* Create the edit-fields */ for (y = 0; y < EDIT_MAX_Y; y++) { for (x = 0; x < EDIT_MAX_X; x++) { _aahEdit[y][x] = EDIT_CreateAsChild(x * 48, y * 22, 48, 22, hWindow, 13, WM_CF_SHOW, 5); EDIT_SetTextAlign(_aahEdit[y][x], GUI_TA_RIGHT | GUI_TA_VCENTER); EDIT_SetFont(_aahEdit[y][x], &GUI_Font8x16); EDIT_SetDecMode(_aahEdit[y][x], ((y * EDIT_MAX_X) + x) * 100, -99999, +99999, 2, 0); } } /* idle-loop */ while (1) { GUI_Exec(); GUI_Delay(20); } /* delete window and clear display */ WM_DeleteWindow(hWindow); GUI_Clear(); }
int IPC_Msg_CreateWin(tIPC_Client *Client, tAxWin_IPCMessage *Msg) { tIPCMsg_CreateWin *info = (void*)Msg->Data; tWindow *newwin, *parent; ASSERT(Msg->ID == IPCMSG_CREATEWIN); // - Sanity checks // > +1 is for NULL byte on string if( Msg->Size < sizeof(*info) + 1 ) { _SysDebug("IPC_Msg_CreateWin: Size check 1 failed"); return -1; } if( info->Renderer[Msg->Size - sizeof(*info) - 1] != '\0' ) { _SysDebug("IPC_Msg_CreateWin: Size check 2 failed"); _SysDebug("info = {"); _SysDebug(" .NewWinID = %i", info->NewWinID); _SysDebug(" .RendererArg = %i", info->RendererArg); _SysDebug(" .Renderer = '%.*s'", Msg->Size - sizeof(*info), info->Renderer); _SysDebug("}"); return -1; } // - Get the parent window ID parent = IPC_int_GetWindow(Client, Msg->Window); // Catch creating a window with an existing ID if( IPC_int_GetWindow(Client, info->NewWinID) ) return 1; // - Create the new window, and save its pointer newwin = WM_CreateWindow(parent, Client, info->NewWinID, info->RendererArg, info->Renderer); IPC_int_SetWindow(Client, info->NewWinID, newwin); return 0; }
/******************************************************************* * * _ShowHiResPixels This is frame-function for the callback. It creates the window and handles the rotation of polygons and colors. */ static void _ShowHiResPixels(void) { WM_HWIN hWindow; const GUI_FONT *font_old; float pi, step, angle; int i, tm; pi = 3.1415926f; step = pi / 180; GUI_SetBkColor(GUI_BLACK); GUI_Clear(); GUI_SetColor(GUI_WHITE); GUI_SetTextAlign(GUI_TA_HCENTER); font_old = GUI_SetFont(&GUI_Font24_ASCII); GUI_DispStringAt("AA_HiResPixels - Sample", 160, 5); GUI_SetFont(font_old); GUI_SetColor(GUI_RED); GUI_DispStringHCenterAt("not\nantialised", 65, 100); GUI_SetColor(GUI_GREEN); GUI_DispStringHCenterAt("antialised", 160, 100); GUI_SetColor(GUI_BLUE); GUI_DispStringHCenterAt("antialised\nwith high\nresolution", 255, 100); hWindow = WM_CreateWindow(35, 140, 250, 60, WM_CF_SHOW | WM_CF_MEMDEV, &_cbWindow, 0); WM_SelectWindow(hWindow); GUI_AA_SetFactor(AA_FACTOR); while (1) { for (i=0, angle=0; i<360; i++) { tm = GUI_GetTime(); angle += step; GUI_RotatePolygon(_aPolygonHiRes, _aPolygonHiRes_src, POLY_POINTS, angle); GUI_RotatePolygon(_aPolygon, _aPolygon_src, POLY_POINTS, angle); _CalcColor(); WM_InvalidateWindow(hWindow); while (((GUI_GetTime()-tm) < 50) || (WM_Exec1() != 0)); } } WM_DeleteWindow(hWindow); }
WM_HWIN WIN_ConfirmCreate(void) { WM_HWIN hWin; hWin = WM_CreateWindow(200, 120, 400, 200,WM_CF_SHOW, _cbWindow, 4); WM_SetHasTrans(hWin); return hWin; }
/********************************************************************* * * CreateWindow */ WM_HWIN PrintWinCreate(void) { WM_HWIN hWin; hWin = WM_CreateWindow(0, 0, 800, 480,WM_CF_SHOW, _cbDialog, 0); hPrintMenu = MENU_CreateEx(0,0,0,0,WM_UNATTACHED,WM_CF_SHOW,MENU_CF_VERTICAL,ID_PrintMenu); //主菜单 PrintHintText = TEXT_CreateAsChild(40,440,800,40,hWin,ID_PrintText,WM_CF_SHOW,"",TEXT_CF_LEFT); TEXT_SetFont(PrintHintText,&GUI_Font24); //WIDGET_SetEffect(hMenu,&WIDGET_Effect_3D1L); hFre = MENU_CreateEx(0,0,0,0,WM_UNATTACHED,WM_CF_SHOW,MENU_CF_VERTICAL,ID_Print_Frequency); //频率分类 hSite = MENU_CreateEx(0,0,0,0,WM_UNATTACHED,WM_CF_SHOW,MENU_CF_VERTICAL,ID_Print_Site); //站点分类 hInfo = MENU_CreateEx(0,0,0,0,WM_UNATTACHED,WM_CF_SHOW,MENU_CF_VERTICAL,ID_Print_Info); //信息分类 hSiteSet = MENU_CreateEx(0,0,100,0,WM_UNATTACHED,WM_CF_SHOW,MENU_CF_VERTICAL,ID_Print_Site_SiteSet); //站点打印设置 hInfoSet = MENU_CreateEx(0,0,100,0,WM_UNATTACHED,WM_CF_SHOW,MENU_CF_VERTICAL,ID_Print_Info_InfoSet); //信息打印设置 //菜单回调 WM_SetCallback(hPrintMenu,&MenuCall); WM_SetCallback(hFre,&MenuCall); WM_SetCallback(hSite,&MenuCall); WM_SetCallback(hInfo,&MenuCall); WM_SetCallback(hSiteSet,&MenuCall); WM_SetCallback(hInfoSet,&MenuCall); //左右间距 MENU_SetBorderSize(hPrintMenu,MENU_BI_LEFT,20); MENU_SetBorderSize(hPrintMenu,MENU_BI_RIGHT,20); MENU_SetBorderSize(hFre,MENU_BI_LEFT,20); MENU_SetBorderSize(hFre,MENU_BI_RIGHT,20); MENU_SetBorderSize(hSite,MENU_BI_LEFT,20); MENU_SetBorderSize(hSite,MENU_BI_RIGHT,20); MENU_SetBorderSize(hInfo,MENU_BI_LEFT,20); MENU_SetBorderSize(hInfo,MENU_BI_RIGHT,20); MENU_SetBorderSize(hSiteSet,MENU_BI_LEFT,10); MENU_SetBorderSize(hSiteSet,MENU_BI_RIGHT,10); MENU_SetBorderSize(hInfoSet,MENU_BI_LEFT,10); MENU_SetBorderSize(hInfoSet,MENU_BI_RIGHT,10); //添加菜单项 _AddMenuItem(hPrintMenu, 0, "所有储存信息", ID_Print_All , 0); _AddMenuItem(hPrintMenu, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hPrintMenu, 0, "正在显示的信息", ID_Print_Showing , 0); _AddMenuItem(hPrintMenu, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hPrintMenu, hFre, "按频率分类打印", ID_Print_Frequency , 0); _AddMenuItem(hPrintMenu, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hPrintMenu, hSite, "按站点分类打印", ID_Print_Site , 0); _AddMenuItem(hPrintMenu, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hPrintMenu, hInfo, "按信息分类打印", ID_Print_Info , 0); _AddMenuItem(hFre, 0, "国际频道(518KHz)", ID_Print_Fre_Int , 0); _AddMenuItem(hFre, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hFre, 0, "本地频道I(490KHz)", ID_Print_Fre_Loc1 , 0); _AddMenuItem(hFre, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hFre, 0, "本地频道II(4209.5KHz)", ID_Print_Fre_Loc2 , 0); _AddMenuItem(hFre, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hFre, 0, "中文频道(486KHz)", ID_Print_Fre_Chs , 0); _AddMenuItem(hSite, 0, "打印", ID_Print_Site_Prt , 0); _AddMenuItem(hSite, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hSite, hSiteSet, "站点设置", ID_Print_Site_SiteSet , 0); _AddMenuItem(hSiteSet, 0, "A打印", ID_Print_Site_SiteSet_Prt_0 , 0); _AddMenuItem(hSiteSet, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hSiteSet, 0, "B打印", ID_Print_Site_SiteSet_Prt_1 , 0); _AddMenuItem(hSiteSet, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hSiteSet, 0, "C打印", ID_Print_Site_SiteSet_Prt_2 , 0); _AddMenuItem(hSiteSet, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hSiteSet, 0, "D打印", ID_Print_Site_SiteSet_Prt_3 , 0); _AddMenuItem(hSiteSet, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hSiteSet, 0, "E打印", ID_Print_Site_SiteSet_Prt_4 , 0); _AddMenuItem(hInfo, 0, "打印", ID_Print_Info_Prt , 0); _AddMenuItem(hInfo, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hInfo, hInfoSet, "信息设置", ID_Print_Info_InfoSet , 0); _AddMenuItem(hInfoSet, 0, "A打印", ID_Print_Info_InfoSet_Prt_0 , 0); _AddMenuItem(hInfoSet, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hInfoSet, 0, "B打印", ID_Print_Info_InfoSet_Prt_1 , 0); _AddMenuItem(hInfoSet, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hInfoSet, 0, "C打印", ID_Print_Info_InfoSet_Prt_2 , 0); _AddMenuItem(hInfoSet, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hInfoSet, 0, "D打印", ID_Print_Info_InfoSet_Prt_3, 0); _AddMenuItem(hInfoSet, 0, 0, 0, MENU_IF_SEPARATOR); //分割线 _AddMenuItem(hInfoSet, 0, "E打印", ID_Print_Info_InfoSet_Prt_4 , 0); MENU_Attach (hPrintMenu,hWin,0,60,0,0,0); WM_SetFocus(hPrintMenu); // MENU_SetSel(hMenu, 0); return hWin; }
Window::Window(const wm_WindowInfo &info) : id(WM_CreateWindow(info)), owned(true) {}
/********************************************************************* * * MainTask */ void MainTask(void) { GUI_Init(); WM_SetDesktopColor(GUI_BLUE); //!< SetDesktopColor /* The First window to display the Temperature Curve */ { hWM_HBKWIN_CURVE = WM_CreateWindow(0,0,400,240,WM_CF_SHOW | WM_CF_MEMDEV ,0,0); btn = BUTTON_CreateAsChild(315, 10, 75, 35,hWM_HBKWIN_CURVE, ID_CURVE_BTN_SWTITCH_2_PARA, WM_CF_SHOW); btnClear = BUTTON_CreateAsChild(315, 60, 75, 35,hWM_HBKWIN_CURVE, 202, WM_CF_SHOW); /** PWM Edit **/ { /* Edit to display the PWM1 */ Edit_PWM1 = EDIT_CreateEx (370, 170, 25, 20,hWM_HBKWIN_CURVE, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_EDT_PWM1, 3); EDIT_SetDecMode(Edit_PWM1,0,0,255,0,0); EDIT_SetValue(Edit_PWM1,0); /* Edit to display the PWM2 */ Edit_PWM2 = EDIT_CreateEx (370, 190, 25, 20,hWM_HBKWIN_CURVE, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_EDT_PWM2, 3); EDIT_SetDecMode(Edit_PWM2,0,0,255,0,0); EDIT_SetValue(Edit_PWM2,0); /* Edit to display the PWM3 */ Edit_PWM3 = EDIT_CreateEx (370, 210, 25, 20,hWM_HBKWIN_CURVE, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_EDT_PWM3, 3); EDIT_SetDecMode(Edit_PWM3,0,0,255,0,0); EDIT_SetValue(Edit_PWM3,0); } // Set Callback function for background window WM_SetCallback(hWM_HBKWIN_CURVE, _cbBk); } { hWM_HBKWIN_CFG_PID = WM_CreateWindow(0,0,400,240,WM_CF_HIDE | WM_CF_MEMDEV ,0,0); //Add the | WM_CF_MEMDEV flah btn1 = BUTTON_CreateAsChild(320, 30 , 60, 35,hWM_HBKWIN_CFG_PID, ID_CFG_PID_BTN_SWTITCH_2_CURVE, WM_CF_SHOW); btnClear1 = BUTTON_CreateAsChild(320, 75, 60, 35,hWM_HBKWIN_CFG_PID, 203, WM_CF_SHOW); BUTTON_SetText(btn1,"PID_Set"); BUTTON_SetText(btnClear1,"Back"); BUTTON_SetText(btn ,"Running"); BUTTON_SetText(btnClear,"PID_Set"); WM_SetCallback(hWM_HBKWIN_CFG_PID, _cbBk_CFG_PID); } //!< Create a graph widget { hGraph = GRAPH_CreateEx(8, 10, 300, 220, hWM_HBKWIN_CURVE, WM_CF_SHOW | WM_CF_CONST_OUTLINE | WM_CF_MEMDEV_ON_REDRAW , 0, 100); //GRAPH_DATA_YT_MirrorX(hGraph , 1); //!< Create a YT_data hData = GRAPH_DATA_YT_Create(GUI_BLUE, 292,0, 0); // Set the MaxItemNum to 0 hData2 = GRAPH_DATA_YT_Create(GUI_RED,292,0,0); GRAPH_AttachData(hGraph, hData); //!< Attach the data to graph GRAPH_AttachData(hGraph, hData2); //!< Attach the data to graph } WM_ShowWindow(hWM_HBKWIN_CURVE); WM_HideWindow(hWM_HBKWIN_CFG_PID); /* WM_BringToTop(hWM_HBKWIN); WM_BringToBottom(hWM_HBKWIN_CFG_PID); WM_MoveTo(hWM_HBKWIN_CFG_PID,400,240); WM_ResizeWindow(hWM_HBKWIN_CFG_PID,1,1); */ #ifdef PWM_TEXT /** PWM Text **/ { /* Edit to display the PWM1 */ Text_PWM1 = TEXT_CreateEx (310, 170, 30, 20,hWM_HBKWIN_CURVE, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_TXT_PWM1, "PMW1"); /* Edit to display the PWM2 */ Text_PWM2 = TEXT_CreateEx (310, 190, 30, 20,hWM_HBKWIN_CURVE, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_TXT_PWM2, "PWM2"); /* Edit to display the PWM3 */ Text_PWM3 = TEXT_CreateEx (310, 210, 30, 20,hWM_HBKWIN_CURVE, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_TXT_PWM3, "PWM3"); } #endif #ifdef EDIT_AD { /* Edit to display the AD1 */ Edit_AD1 = EDIT_CreateEx (350, 120, 35, 20,hWM_HBKWIN_CURVE, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_EDT_AD1, 5); EDIT_SetDecMode(Edit_AD1,0,0,4095,0,0); EDIT_SetValue(Edit_AD1,0); /* Edit to display the AD2 */ Edit_AD2 = EDIT_CreateEx (350, 140, 35, 20,hWM_HBKWIN_CURVE, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_EDT_AD2, 5); EDIT_SetDecMode(Edit_AD2,0,0,4095,0,0); EDIT_SetValue(Edit_AD2,0); EDIT_SetFloatMode( Edit_AD1,1.0, 0.0,99.9,1,/*1 bit after dot*/ 0 ); EDIT_SetFloatMode( Edit_AD2,0.0, 0.0,99.9,1,/*1 bit after dot*/ 0 ); } #endif //!< Graph configuration { hScale = GRAPH_SCALE_Create(28, GUI_TA_RIGHT, GRAPH_SCALE_CF_VERTICAL, 20); GRAPH_SCALE_SetTextColor(hScale,GUI_GREEN); GRAPH_SCALE_SetFactor(hScale,0.5); GRAPH_SCALE_SetNumDecs(hScale,1); GRAPH_AttachScale(hGraph, hScale); GRAPH_SetGridDistX(hGraph,0); // Hide the X Grid GRAPH_SetGridDistY(hGraph,20); GRAPH_SetGridVis(hGraph,1); //!< Display the Grid GRAPH_SetBorder(hGraph,30,5,5,5); //!< Set the frame border //GRAPH_SetGridFixedX(hGraph,1); //GRAPH_SetVSizeX(hGraph,500); //加入此会导致死掉 程序卡死在获取此指针上面. //GRAPH_SetGridFixedY(hGraph,1); GRAPH_SetColor(hGraph,GUI_BLUE,GRAPH_CI_BORDER); GRAPH_SetColor(hGraph,GUI_WHITE,GRAPH_CI_BK); GRAPH_SetColor(hGraph,GUI_WHITE,GRAPH_CI_FRAME); } /* Button Configuration */ { BUTTON_SetBkColor(btn,BUTTON_CI_UNPRESSED,GUI_LIGHTBLUE); BUTTON_SetBkColor(btn,BUTTON_CI_PRESSED,GUI_RED); BUTTON_SetFocusColor(btn,GUI_YELLOW); } while(1) { GUI_Exec(); OSTimeDlyHMSM(0,0,0,50); //#define DRAWPOINT #ifdef DRAWPOINT itoa(usValue, buf, 10); BUTTON_SetText(btn,buf); // GRAPH_DATA_YT_AddValue(hData,usValue/20); #endif } }
/********************************************************************* * * CreateWindow */ WM_HWIN CheckWinCreate(void) { WM_HWIN hWin; hWin = WM_CreateWindow(0, 0, 800, 480,WM_CF_SHOW, _cbDialog, 0); return hWin; }