/******************************************************************* * * _DemoListBox */ void _DemoListBox(void) { int i; int Entries = GUI_COUNTOF(_ListBox) - 1; LISTBOX_Handle hListBox; int xSize = LCD_GetXSize(); //int ySize = GUI_GetYDistOfFont(&GUI_Font13B_1) * Entries; int ySize = LCD_GetYSize(); /* Create the listbox */ hListBox = LISTBOX_Create(_ListBox, 0, 0, xSize, ySize, WM_CF_SHOW); /* Change current selection of the listbox */ for (i = 0; i < Entries-1; i++) { GUI_Delay(500); LISTBOX_IncSel(hListBox); WM_ExecIdle(); } GUI_Delay(75000); for (i = 0; i < Entries-1; i++) { GUI_Delay(500); LISTBOX_DecSel(hListBox); WM_ExecIdle(); } GUI_Delay(7500); /* Delete listbox widget */ LISTBOX_Delete(hListBox); GUI_ClearRect(0, 50, 319, 239); GUI_Delay(750); }
/********************************************************************* * * _AddKey * * Returns: 1 if Key has been consumed * 0 else */ static int _AddKey(LISTBOX_Handle hObj, int Key) { LISTBOX_Obj* pObj; pObj = LISTBOX_H2P(hObj); switch (Key) { case ' ': _ToggleMultiSel(hObj, pObj, pObj->Sel); return 1; /* Key has been consumed */ case GUI_KEY_RIGHT: if (WM_SetScrollValue(&pObj->ScrollStateH, pObj->ScrollStateH.v + pObj->Props.ScrollStepH)) { LISTBOX_UpdateScrollers(hObj); LISTBOX__InvalidateInsideArea(hObj); } return 1; /* Key has been consumed */ case GUI_KEY_LEFT: if (WM_SetScrollValue(&pObj->ScrollStateH, pObj->ScrollStateH.v - pObj->Props.ScrollStepH)) { LISTBOX_UpdateScrollers(hObj); LISTBOX__InvalidateInsideArea(hObj); } return 1; /* Key has been consumed */ case GUI_KEY_DOWN: LISTBOX_IncSel(hObj); return 1; /* Key has been consumed */ case GUI_KEY_UP: LISTBOX_DecSel(hObj); return 1; /* Key has been consumed */ default: if(_IsAlphaNum(Key)) { _SelectByKey(hObj, Key); return 1; /* Key has been consumed */ } } return 0; }
/******************************************************************* * * _DemoListBox */ static void _DemoListBox(void) { int i; int Entries; int ySize; LISTBOX_Handle hListBox; Entries = GUI_COUNTOF(_ListBox) - 1; ySize = GUI_GetYDistOfFont(&GUI_Font13B_1) * Entries; // // Create the listbox // hListBox = LISTBOX_Create(_ListBox, 130, 80, 60, ySize, WM_CF_SHOW); // // Change current selection of the listbox // for (i = 0; i < Entries-1; i++) { GUI_Delay(500); LISTBOX_IncSel(hListBox); WM_ExecIdle(); } for (i = 0; i < Entries-1; i++) { GUI_Delay(500); LISTBOX_DecSel(hListBox); WM_ExecIdle(); } GUI_Delay(750); // // Delete listbox widget // LISTBOX_Delete(hListBox); GUI_ClearRect(0, 50, 319, 239); GUI_Delay(750); }
/********************************************************************* * * GUIDEMO_DemoFrameWin */ void GUIDEMO_DemoFrameWin(void) { FRAMEWIN_Handle hFrame; LISTBOX_Handle hListBox; int xSize = LCD_GetXSize(); int ySize = LCD_GetYSize(); int i, x, y, w, h; const GUI_FONT* pFont = &GUI_FontComic18B_1; GUI_COLOR DesktopColorOld; #if GUIDEMO_LARGE GUIDEMO_ShowIntro("Frame Window & Listbox", NULL); #else GUIDEMO_ShowIntro("Frame Window\n & Listbox", NULL); #endif DesktopColorOld = GUIDEMO_SetBkColor(GUI_RED); DesktopColorOld = WM_SetDesktopColor(DesktopColorOld); /* Automatically update desktop window */ x = BORDER; #if GUIDEMO_LARGE y = 75; #else y = BORDER; #endif w = xSize - x - BORDER; h = ySize - y - BORDER; if (w > 140) { w = 140; } if (h > 120) { h = 120; } hFrame = FRAMEWIN_Create("Select language", NULL, WM_CF_SHOW, x, y, w, h); FRAMEWIN_SetActive(hFrame, 1); FRAMEWIN_SetMoveable(hFrame, 1); FRAMEWIN_AddMaxButton(hFrame, FRAMEWIN_BUTTON_RIGHT, 0); FRAMEWIN_AddMinButton(hFrame, FRAMEWIN_BUTTON_RIGHT, 1); FRAMEWIN_SetFont(hFrame, &GUI_Font13_ASCII); hListBox = LISTBOX_CreateAsChild(_asLang, WM_GetClientWindow(hFrame), 0, 0, 0, 0, WM_CF_SHOW | WM_SF_ANCHOR_LEFT | WM_SF_ANCHOR_TOP | WM_SF_ANCHOR_RIGHT | WM_SF_ANCHOR_BOTTOM); WM_SetFocus(hListBox); LISTBOX_SetFont(hListBox, pFont); GUIDEMO_Wait(); for (i = 0; (i < 10) && !GUIDEMO_CheckCancel(); i++) { LISTBOX_IncSel(hListBox); GUIDEMO_Delay(250); } for (i = 0; (i < 10) && !GUIDEMO_CheckCancel(); i++) { LISTBOX_DecSel(hListBox); GUIDEMO_Delay(250); } GUIDEMO_Delay(500); LISTBOX_Delete(hListBox); FRAMEWIN_Delete(hFrame); WM_SetDesktopColor(DesktopColorOld); }
void LISTBOX_AddKey(LISTBOX_Handle hObj, int Key) { if (hObj) { WM_LOCK(); switch (Key) { case GUI_KEY_DOWN: LISTBOX_IncSel(hObj); break; case GUI_KEY_UP: LISTBOX_DecSel(hObj); break; default: _SelectByKey(hObj, Key); break; } WM_UNLOCK(); } }
/******************************************************************* * * _DemoListBox */ void _DemoListBox(LISTBOX_Handle hListBox) { int i; /* Change current selection of the listbox */ for (i = 0; i < Entries-1; i++) { GUI_Delay(500); LISTBOX_IncSel(hListBox); WM_ExecIdle(); } GUI_Delay(75000); for (i = 0; i < Entries-1; i++) { GUI_Delay(500); LISTBOX_DecSel(hListBox); WM_ExecIdle(); } GUI_Delay(7500); /* Delete listbox widget */ LISTBOX_Delete(hListBox); GUI_ClearRect(0, 50, 319, 239); GUI_Delay(750); }
/******************************************************************* * * _ShowSeveralFunctions */ static void _ShowSeveralFunctions(LISTBOX_Handle hListBox) { int NumEntries, i; /* Add scrollbar */ GUI_DispStringAtCEOL("SCROLLBAR_CreateAttached", 5, 55); GUI_Delay(SPEED); SCROLLBAR_CreateAttached(hListBox, SCROLLBAR_CF_VERTICAL); GUI_Delay(SPEED * 0.75); /* Add strings */ GUI_DispStringAtCEOL("LISTBOX_AddString", 5, 55); GUI_Delay(SPEED); LISTBOX_AddString(hListBox, "Français"); GUI_Delay(SPEED / 6); LISTBOX_AddString(hListBox, "Japanese"); GUI_Delay(SPEED / 6); LISTBOX_AddString(hListBox, "Italiano"); GUI_Delay(SPEED / 6); LISTBOX_AddString(hListBox, "Español"); GUI_Delay(SPEED / 6); LISTBOX_AddString(hListBox, "Other language ..."); GUI_Delay(SPEED * 0.6); /* Set focus */ GUI_DispStringAtCEOL("WM_SetFocus", 5, 55); GUI_Delay(SPEED * 0.9); WM_SetFocus(hListBox); GUI_Delay(SPEED * 0.7); /* Set font */ GUI_DispStringAtCEOL("LISTBOX_SetFont", 5, 55); GUI_Delay(SPEED * 0.9); LISTBOX_SetFont(hListBox, &GUI_Font13B_1); GUI_Delay(SPEED * 0.7); /* Increment selection */ GUI_DispStringAtCEOL("LISTBOX_IncSel", 5, 55); GUI_Delay(SPEED); NumEntries = LISTBOX_GetNumItems(hListBox); for (i = 0; i < NumEntries - 1; i++) { LISTBOX_IncSel(hListBox); GUI_Delay(SPEED / 6); } GUI_Delay(SPEED / 4); /* Show automatic scrollbar */ GUI_DispStringAtCEOL("Optional automatic scrollbar", 5, 55); GUI_Delay(SPEED); LISTBOX_SetAutoScrollH(hListBox, 1); LISTBOX_SetAutoScrollV(hListBox, 1); GUI_Delay(SPEED * 0.75); /* Set font */ GUI_DispStringAtCEOL("LISTBOX_SetFont", 5, 55); GUI_Delay(SPEED); LISTBOX_SetFont(hListBox, &GUI_Font16B_1); GUI_Delay(SPEED * 0.75); /* Decrement selection */ GUI_DispStringAtCEOL("LISTBOX_DecSel", 5, 55); GUI_Delay(SPEED); for (i = 0; i < NumEntries - 1; i++) { LISTBOX_DecSel(hListBox); GUI_Delay(SPEED / 6); } GUI_Delay(SPEED / 4); /* Change width of scrollbar */ GUI_DispStringAtCEOL("Change scrollbar width", 5, 55); GUI_Delay(SPEED * 0.7); { SCROLLBAR_Handle hScrollH = WM_GetDialogItem(hListBox, GUI_ID_HSCROLL); SCROLLBAR_Handle hScrollV = WM_GetDialogItem(hListBox, GUI_ID_VSCROLL); SCROLLBAR_SetWidth(hScrollV, 14); GUI_Delay(SPEED / 4); SCROLLBAR_SetWidth(hScrollH, 14); GUI_Delay(SPEED * 0.6); } /* Change size of listbox */ GUI_DispStringAtCEOL("Change size of listbox", 5, 55); GUI_Delay(SPEED * 0.75); WM_ResizeWindow(hListBox, -15, 0); GUI_Delay(SPEED / 4); WM_ResizeWindow(hListBox, 0, -15); GUI_Delay(SPEED / 4); WM_ResizeWindow(hListBox, 15, 0); GUI_Delay(SPEED / 4); WM_ResizeWindow(hListBox, 0, 15); GUI_Delay(SPEED / 2); /* Disable item */ GUI_DispStringAtCEOL("LISTBOX_SetItemDisabled", 5, 55); GUI_Delay(SPEED); LISTBOX_SetItemDisabled(hListBox, 4, 1); GUI_Delay(SPEED * 0.75); /* Set multi selection mode */ GUI_DispStringAtCEOL("LISTBOX_SetMulti", 5, 55); GUI_Delay(SPEED); LISTBOX_SetMulti(hListBox, 1); GUI_Delay(SPEED * 0.75); /* Select item */ GUI_DispStringAtCEOL("LISTBOX_SetItemSel", 5, 55); GUI_Delay(SPEED); LISTBOX_SetItemSel(hListBox, 0, 1); GUI_Delay(SPEED / 4); LISTBOX_SetItemSel(hListBox, 1, 1); GUI_Delay(SPEED / 4); LISTBOX_SetItemSel(hListBox, 2, 1); GUI_Delay(SPEED * 0.8); /* Delete listbox widget */ GUI_DispStringAtCEOL("LISTBOX_Delete", 5, 55); GUI_Delay(SPEED * 1.1); LISTBOX_Delete(hListBox); GUI_Delay(SPEED * 0.75); }
/********************************************************************* * * _cbDialog */ static void _cbDialog(WM_MESSAGE * pMsg) { WM_HWIN hItem; WM_MESSAGE Msg; WM_HWIN hIteminfo; int i; int sel; uint8_t items; FRESULT res; // FILINFO fno; //DIR dir; // USER START (Optionally insert additional variables) // USER END hItem = pMsg->hWin; WINDOW_SetBkColor(hItem, GUI_LIGHTGRAY); hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); //WM_SetFocus(hItem); switch (pMsg->MsgId) { case WM_INIT_DIALOG: hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0); TEXT_SetFont(hItem,&GUI_FontHZ_Song_12); TEXT_SetText(hItem, "自学习文件选择"); hIteminfo = WM_GetDialogItem(pMsg->hWin, ID_TEXT_1); TEXT_SetFont(hIteminfo,&GUI_FontHZ_Song_12); TEXT_SetTextColor(hIteminfo,GUI_RED); TEXT_SetText(hIteminfo, (char *)"打开文件……"); WM_HideWindow(hIteminfo); // // Initialization of 'Dropdown' // hItem = WM_GetDialogItem(pMsg->hWin, ID_DROPDOWN_0); DROPDOWN_SetFont(hItem,&GUI_FontHZ_Song_12); DROPDOWN_AddString(hItem, "U盘"); DROPDOWN_AddString(hItem, "SD卡"); if(k_StorageGetStatus(MSD_DISK_UNIT) != 0) DROPDOWN_SetSel(hItem,1); else DROPDOWN_SetSel(hItem,0); // // Initialization of 'Treeview' // store_dev=DROPDOWN_GetSel(hItem); WT_TestFolder_Init(); hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); for(i=0;i<TestFolder.number_TotalFile;i++) { LISTBOX_AddString(hItem, (char *)TestFolder.FilesName[i]); } LISTBOX_SetFont(hItem,GUI_FONT_20_1); LISTBOX_SetSel(hItem,TestFolder.number_CurrentFile); hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_OK); BUTTON_SetFont(hItem,&GUI_FontHZ_Song_12); BUTTON_SetSkinClassic(hItem); BUTTON_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER); BUTTON_SetBkColor(hItem,BUTTON_CI_UNPRESSED, GUI_GREEN); BUTTON_SetFocussable(hItem,0);//不接收焦点 hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_CANCEL); BUTTON_SetFont(hItem,&GUI_FontHZ_Song_12); BUTTON_SetSkinClassic(hItem); BUTTON_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER); BUTTON_SetBkColor(hItem,BUTTON_CI_UNPRESSED, GUI_RED); BUTTON_SetFocussable(hItem,0);//不接收焦点 // USER START (Optionally insert additional code for further widget initialization) // USER END break; case MY_MESSAGE_CLICK: GUI_SendKeyMsg(GUI_KEY_TAB, 1);//改变输入焦点 break; case MY_MESSAGE_DOWN: hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); if(WM_HasFocus(hItem)) { LISTBOX_IncSel(hItem); } hItem = WM_GetDialogItem(pMsg->hWin, ID_DROPDOWN_0); if(WM_HasFocus(hItem)) { sel=DROPDOWN_GetSel(hItem); if(sel<1) { DROPDOWN_IncSel(hItem); } else //sel>=1 { DROPDOWN_SetSel(hItem,0); } store_dev=DROPDOWN_GetSel(hItem); WT_TestFolder_Init(); hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); items = LISTBOX_GetNumItems(hItem); for(i=0;i<items;i++) { LISTBOX_DeleteItem(hItem,0); } for(i=0;i<TestFolder.number_TotalFile;i++) { LISTBOX_AddString(hItem, (char *)TestFolder.FilesName[i]); } } break; case MY_MESSAGE_UP: hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); if(WM_HasFocus(hItem)) { LISTBOX_DecSel(hItem); } hItem = WM_GetDialogItem(pMsg->hWin, ID_DROPDOWN_0); if(WM_HasFocus(hItem)) { sel=DROPDOWN_GetSel(hItem); if(sel>0) { DROPDOWN_DecSel(hItem); } else //sel>=1 { DROPDOWN_SetSel(hItem,1); } store_dev=DROPDOWN_GetSel(hItem); WT_TestFolder_Init(); hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); items = LISTBOX_GetNumItems(hItem); for(i=0;i<items;i++) { LISTBOX_DeleteItem(hItem,0); } for(i=0;i<TestFolder.number_TotalFile;i++) { LISTBOX_AddString(hItem, (char *)TestFolder.FilesName[i]); } } break; case MY_MESSAGE_CANCEL://取消 GUI_EndDialog(pMsg->hWin,0); break; case MY_MESSAGE_OK: hIteminfo = WM_GetDialogItem(pMsg->hWin, ID_TEXT_1); TEXT_SetText(hIteminfo, (char *)"打开文件中……"); WM_ShowWindow(hIteminfo); GUI_Exec(); hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); TestFolder.number_CurrentFile=LISTBOX_GetSel(hItem); hItem = WM_GetDialogItem(pMsg->hWin, ID_DROPDOWN_0); store_dev=DROPDOWN_GetSel(hItem); WT_TestItem_Init((char *)TestFolder.FilesName[TestFolder.number_CurrentFile]); //WT_TestFile_Write2Flash((char *)TestFolder.FilesName[TestFolder.number_CurrentFile]);//将文件内容复制到Flash //WT_TestFiles_Write2card((char *)TestFolder.FilesName[TestFolder.number_CurrentFile]);//将文件内容复制到SD card if(TestFile.file_status == 1)//文件读取OK { Msg.MsgId = MY_MESSAGE_BUTTONOK; WM_SendMessage(pMsg->hWinSrc,&Msg); GUI_EndDialog(pMsg->hWin,0); } else { TEXT_SetText(hIteminfo, (char *)"读取文件错误!"); WM_ShowWindow(hIteminfo); } Msg.MsgId = MY_MESSAGE_BUTTONOK; WM_SendMessage(pMsg->hWinSrc,&Msg); GUI_EndDialog(pMsg->hWin,0); break; case MY_MESSAGE_BUTTONDELETE: hItem = WM_GetDialogItem(pMsg->hWin, ID_DROPDOWN_0); store_dev=DROPDOWN_GetSel(hItem); if(store_dev==0) //usb strcpy(filename,path_testfile); //f_opendir(&dir, path_testfile); if(store_dev==1) //sd strcpy(filename,path_testfile_sd); //f_opendir(&dir, path_testfile_sd); //res = f_opendir(&dir, "1:/LZY_WireTester/Test Files"); hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); strcat(filename,"/"); sel = LISTBOX_GetSel(hItem); if(sel < 0) break; strcat(filename,(char *)TestFolder.FilesName[LISTBOX_GetSel(hItem)]); res=f_unlink((const TCHAR*)filename); if(res == FR_OK) { hItem = WM_GetDialogItem(pMsg->hWin, ID_DROPDOWN_0); store_dev=DROPDOWN_GetSel(hItem); WT_TestFolder_Init(); hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); items = LISTBOX_GetNumItems(hItem); for(i=0;i<items;i++) { LISTBOX_DeleteItem(hItem,0); } for(i=0;i<TestFolder.number_TotalFile;i++) { LISTBOX_AddString(hItem, (char *)TestFolder.FilesName[i]); } WM_SetFocus(hItem); if(sel > 0) LISTBOX_SetSel(hItem,sel - 1); else LISTBOX_SetSel(hItem,0); } break; case WM_PAINT://绘制标题栏 GUI_SetColor(GUI_DARKBLUE); GUI_FillRect(0,0,380,22); GUI_SetColor(GUI_DARKGRAY); GUI_SetPenSize(8); GUI_DrawRect(0,0,378,220); break; default: WM_DefaultProc(pMsg); break; } }
/********************************************************************* * * _cbDialog */ static void _cbDialog(WM_MESSAGE * pMsg) { WM_HWIN hItem; WM_MESSAGE Msg; WM_HWIN hIteminfo; int i; uint8_t sel; uint8_t items; // int wheelval=0; // USER START (Optionally insert additional variables) // USER END hItem = pMsg->hWin; WINDOW_SetBkColor(hItem, GUI_LIGHTGRAY); hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); //WM_SetFocus(hItem); switch (pMsg->MsgId) { case WM_INIT_DIALOG: hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0); TEXT_SetFont(hItem,&GUI_FontHZ_Song_12); TEXT_SetText(hItem, "测试文件选择"); hIteminfo = WM_GetDialogItem(pMsg->hWin, ID_TEXT_1); TEXT_SetFont(hIteminfo,&GUI_FontHZ_Song_12); TEXT_SetTextColor(hIteminfo,GUI_RED); TEXT_SetText(hIteminfo, (char *)"打开测试文件……"); WM_HideWindow(hIteminfo); hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_LOCKINFO); TEXT_SetFont(hItem,&GUI_FontHZ_Song_12); TEXT_SetTextColor(hItem,GUI_RED); TEXT_SetText(hItem, "系统被锁定,请解锁!"); WM_HideWindow(hItem); // // Initialization of 'Dropdown' // hItem = WM_GetDialogItem(pMsg->hWin, ID_DROPDOWN_0); DROPDOWN_SetFont(hItem,&GUI_FontHZ_Song_12); //if(k_StorageGetStatus(USB_DISK_UNIT) != 0) DROPDOWN_AddString(hItem, "U盘"); //if(k_StorageGetStatus(MSD_DISK_UNIT) != 0) DROPDOWN_AddString(hItem, "SD卡"); if(k_StorageGetStatus(MSD_DISK_UNIT) != 0) DROPDOWN_SetSel(hItem,1); else DROPDOWN_SetSel(hItem,0); // // Initialization of 'Listview' // store_dev=DROPDOWN_GetSel(hItem); WT_TestFolder_Init(); hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); for(i=0;i<TestFolder.number_TotalFile;i++) { LISTBOX_AddString(hItem, (char *)TestFolder.FilesName[i]); } LISTBOX_SetFont(hItem,GUI_FONT_20_1); LISTBOX_SetSel(hItem,TestFolder.number_CurrentFile); hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_OK); BUTTON_SetFont(hItem,&GUI_FontHZ_Song_12); BUTTON_SetSkinClassic(hItem); BUTTON_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER); BUTTON_SetBkColor(hItem,BUTTON_CI_UNPRESSED, GUI_GREEN); BUTTON_SetFocussable(hItem,0);//不接收焦点 hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_CANCEL); BUTTON_SetFont(hItem,&GUI_FontHZ_Song_12); BUTTON_SetSkinClassic(hItem); BUTTON_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER); BUTTON_SetBkColor(hItem,BUTTON_CI_UNPRESSED, GUI_RED); BUTTON_SetFocussable(hItem,0);//不接收焦点 // USER START (Optionally insert additional code for further widget initialization) // USER END break; case MY_MESSAGE_CLICK: GUI_SendKeyMsg(GUI_KEY_TAB, 1);//改变输入焦点 hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); if(WM_HasFocus(hItem)) { LISTBOX_SetSel(hItem,0); } break; case MY_MESSAGE_DOWN: hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); if(WM_HasFocus(hItem)) { LISTBOX_IncSel(hItem); } hItem = WM_GetDialogItem(pMsg->hWin, ID_DROPDOWN_0); if(WM_HasFocus(hItem)) { sel=DROPDOWN_GetSel(hItem); if(sel<1) { DROPDOWN_IncSel(hItem); } else //sel>=1 { DROPDOWN_SetSel(hItem,0); } store_dev=DROPDOWN_GetSel(hItem); WT_TestFolder_Init(); hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); items = LISTBOX_GetNumItems(hItem); for(i=0;i<items;i++) { LISTBOX_DeleteItem(hItem,0); } for(i=0;i<TestFolder.number_TotalFile;i++) { LISTBOX_AddString(hItem, (char *)TestFolder.FilesName[i]); } } break; case MY_MESSAGE_UP: hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); if(WM_HasFocus(hItem)) { LISTBOX_DecSel(hItem); } hItem = WM_GetDialogItem(pMsg->hWin, ID_DROPDOWN_0); if(WM_HasFocus(hItem)) { sel=DROPDOWN_GetSel(hItem); if(sel>0) { DROPDOWN_DecSel(hItem); } else //sel>=1 { DROPDOWN_SetSel(hItem,1); } store_dev=DROPDOWN_GetSel(hItem); WT_TestFolder_Init(); hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); items = LISTBOX_GetNumItems(hItem); for(i=0;i<items;i++) { LISTBOX_DeleteItem(hItem,0); } for(i=0;i<TestFolder.number_TotalFile;i++) { LISTBOX_AddString(hItem, (char *)TestFolder.FilesName[i]); } } break; case MY_MESSAGE_CANCEL://取消 TestFile.command=2;//test cancel TestFile.item_total=0; GUI_EndDialog(pMsg->hWin,0); break; case MY_MESSAGE_OK: hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); if(LISTBOX_GetNumItems(hItem) ==0 ) break; TestFolder.number_CurrentFile=LISTBOX_GetSel(hItem); hItem = WM_GetDialogItem(pMsg->hWin, ID_DROPDOWN_0); store_dev=DROPDOWN_GetSel(hItem); TestFile.command = 0; hIteminfo = WM_GetDialogItem(pMsg->hWin, ID_TEXT_1); TEXT_SetText(hIteminfo, (char *)"读取测试文件!"); WM_ShowWindow(hIteminfo); hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_LOCKINFO); WM_HideWindow(hItem); GUI_Exec(); WT_TestItem_Init((char *)TestFolder.FilesName[TestFolder.number_CurrentFile]); if(TestFile.file_status == 1)//文件读取OK { Msg.MsgId = MY_MESSAGE_BUTTONOK; WM_SendMessage(pMsg->hWinSrc,&Msg); GUI_EndDialog(pMsg->hWin,0); } else { TEXT_SetText(hIteminfo, (char *)"读取测试文件错误!"); WM_ShowWindow(hIteminfo); } // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_CANCEL); // if(WM_HasFocus(hItem))//取消 // { // TestFolder.number_CurrentFile=0; // TestFile.command = 0; // WT_TestItem_Init(TestFolder.FilesName[0]); // Msg.MsgId = MY_MESSAGE_BUTTONCANCEL; // WM_SendMessage(pMsg->hWinSrc,&Msg); // GUI_EndDialog(pMsg->hWin,0); // } //GUI_EndDialog(pMsg->hWin,0); //Number_Windos = 0; break; case MY_MESSAGE_LOCK: hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_1); WM_HideWindow(hItem); hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_LOCKINFO); TEXT_SetText(hItem, "系统被锁定,请解锁!"); WM_ShowWindow(hItem); GUI_Exec(); break; case MY_MESSAGE_UNLOCK: hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_LOCKINFO); WM_HideWindow(hItem); break; case WM_PAINT://绘制标题栏 GUI_SetColor(GUI_DARKBLUE); GUI_FillRect(0,0,480,22); GUI_SetColor(GUI_DARKGRAY); GUI_SetPenSize(8); GUI_DrawRect(0,0,478,220); // GUI_DrawRoundedFrame(0, 0, 480, 222, 0, 4); break; default: WM_DefaultProc(pMsg); break; } }