📄 win_locateinfo.c~
字号:
/*win_locateInfo.c*//*** COMPANY NAME: 国星** FILE NAME: win_locateInfo.c** FILE PATH: Interface/win_locateInfo.c** WINDOWS NAME: 定位明细** WINDOWS PATH: 定位 / 单次定位(连续定位)(紧急定位)/定位信息** OTHER INFORMATION; 无** CREATER NAME: LiWencheng,JiangYuanqing** MENDER NAME: JiangYuanqing,LiWencheng** CHANGE TIME: 11/14/2007 */#include "sysSrcInfo.h"#define SIID_CHECK 552static HWND listBox; static int flagLocateInfo=0; //返回到不同界面static int LocateInfocount=0; static HWND hIV_menu_LocateInfo; //menu句柄static BITMAP bmp_LocateInfo; //缓存中间状态栏图片static void FillListbox ();/* 位图数组 */static const char *bmp_name_LocateInfo[] = { "./Pictures/b_windowsbackground_1.PNG", //第一张来做主界面 "./Pictures/OK.PNG", "./Pictures/menu.PNG", "./Pictures/b_cancel_0.PNG", "./Pictures/return.PNG", "./Pictures/c_check.PNG" };static const char *icon_labels_LocateInfo[] = { "1 删除", "2 全部删除", "3 存为路标", "4 图号计算", "5 发方地址排序", "6 时间升序排序", "7 时间降序排序", "8 数据来源排序", "9 设置条件查询", "0 回主界面" };/* 定义皮肤元素数组 *///三个button 为左中右,并不表示它就一定指OK或MENUstatic skin_item_t skin_items_LocateInfo [] ={ {SIID_OK, SI_TYPE_CHKBUTTON | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE, BUTTONLEFT_X, BUTTON_Y, {}, 1 ,"" }, {SIID_MENU, SI_TYPE_CHKBUTTON | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE, BUTTONCENTER_X, BUTTON_Y, {}, 2, "" }, {SIID_CANCEL, SI_TYPE_CHKBUTTON | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE, BUTTONRIGHT_X, BUTTON_Y, {}, 3, "" }, {SIID_RETURN, SI_TYPE_CHKBUTTON | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE, BUTTONRIGHT_X, BUTTON_Y, {}, 4, "" }, {SIID_CHECK, SI_TYPE_CHKBUTTON | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE, BUTTONLEFT_X, BUTTON_Y, {}, 5, "" }};/* 定义皮肤 */skin_head_t skin_LocateInfo ={ "skin_LocateInfo", //const BITMAP* bmps; SKIN_STYLE_TOOLTIP, NULL, NULL, 0, 5, skin_items_LocateInfo, FALSE /** The number of the items in this skin. */ /* 定义皮肤元素数组 */ //注意上面数组的大小变了,则8变成多少};static void skin_enable_items (int true){ int false; if (true == TRUE) {false = FALSE;} else {false = TRUE;} skin_enable_item (&skin_LocateInfo,SIID_CANCEL,false); skin_show_item (&skin_LocateInfo,SIID_CANCEL,false); skin_enable_item (&skin_LocateInfo,SIID_OK,false); skin_show_item (&skin_LocateInfo,SIID_OK,false); skin_enable_item (&skin_LocateInfo,SIID_CHECK,true); skin_show_item (&skin_LocateInfo,SIID_CHECK,true); skin_enable_item (&skin_LocateInfo,SIID_RETURN,true); skin_show_item (&skin_LocateInfo,SIID_RETURN,true);}static void ClickCancel_LocateInfo(){ skin_enable_items (TRUE); SendMessage ( hIV_menu_LocateInfo, WS_DISABLED,0,0); EnableWindow ( hIV_menu_LocateInfo, FALSE); SendMessage ( hIV_menu_LocateInfo, WS_DISABLED,0,0); ShowWindow ( hIV_menu_LocateInfo, SW_HIDE); EnableWindow( listBox ,TRUE);}static void CloseTheWindow_LocateInfo (){ LoadSkinBmps( &skin_LocateInfo, FALSE ,bmp_name_LocateInfo ,(sizeof (bmp_name_LocateInfo))/sizeof(char *) ); ShowWindow ( hWndMainLocInfo, SW_HIDE); UnloadBitmap( &bmp_LocateInfo ); }static void DeleteLocateInfo(){ if( LocateInfocount != 0 ) { printf("-------Before delete,loadedMesg.pLocInfo is %X----\n",loadedMesg.pLocInfo); Delete( INBOX, TYPE_OF_DWXX, SINGLEMODE, sel+1, (void **)loadedMesg.pLocInfo); ClickCancel_LocateInfo ();//must放这 CloseTheWindow_LocateInfo (); win_LocateInfo (hWndMain,flagLocateInfo); }}static void DeleteAllLocateInfo(){ if( LocateInfocount != 0 ) { Delete( INBOX, TYPE_OF_DWXX, MUTIPLEMODE, loadedMesg.countOfMesg, (void **)loadedMesg.pLocInfo); ClickCancel_LocateInfo ();//must放这 CloseTheWindow_LocateInfo (); win_LocateInfo (hWndMain,flagLocateInfo); }}static int main_event_cb_LocateInfo (HWND hwnd, skin_item_t* item, int event, void* data){ int sel_menu; int i , sel; if (event == SIE_BUTTON_CLICKED) { switch (item->id) { //按的那个图片 case SIID_OK: sel_menu = SendMessage ( hIV_menu_LocateInfo, IVM_GETCURSEL, 0, 0 ); sel = SendMessage ( listBox, IVM_GETCURSEL, 0, 0 ); //if(flagLocateInfo == 1) //{ switch(sel_menu){ case 0://Delete single record ClickCancel_LocateInfo(); ShowWindow ( hWndMainLocInfo, SW_HIDE); win_InfoAlarm(hWndMain, 6,0 ,-1); break; case 1: //Delete all records ClickCancel_LocateInfo(); ShowWindow ( hWndMainLocInfo, SW_HIDE); win_InfoAlarm(hWndMain, 6,1 ,-1); break; case 2:printf("in case 2: \n"); break; case 3:printf("in case 3: \n"); break; case 4: if( LocateInfocount > 1 ) { Sort( SORT_BY_ADDRESS, loadedMesg.pLocInfo, loadedMesg.countOfMesg ); SendMessage (listBox, LB_RESETCONTENT, 0, 0) ; FillListbox (); ClickCancel_LocateInfo(); }printf("in case 4: \n"); break; case 5: if( LocateInfocount > 1 ) { Sort( SORT_BY_TIMEASC, loadedMesg.pLocInfo, loadedMesg.countOfMesg ); SendMessage (listBox, LB_RESETCONTENT, 0, 0) ; FillListbox (); ClickCancel_LocateInfo(); } break; case 6: if( LocateInfocount > 1 ) { Sort( SORT_BY_TIMEDES, loadedMesg.pLocInfo, loadedMesg.countOfMesg ); SendMessage (listBox, LB_RESETCONTENT, 0, 0) ; FillListbox ( ); ClickCancel_LocateInfo(); }printf("in case 6: \n"); break; case 7:printf("in case 7: \n"); break; case 8: if( LocateInfocount != 0 ) { win_LocQuery(hWndMain); CloseTheWindow_LocateInfo (); }printf("in case 8: \n"); break; case 9: //返回主界面 win_index (hWndMain); CloseTheWindow_LocateInfo (); break; }//switch(sel_menu) //} break;//case SIID_OK: case SIID_MENU: skin_enable_items (FALSE); EnableWindow( listBox ,FALSE); ShowWindow(hIV_menu_LocateInfo,SW_SHOW); EnableWindow( hIV_menu_LocateInfo,TRUE); SetFocusChild( hIV_menu_LocateInfo ); SendMessage(hIV_menu_LocateInfo,IVM_SELECTITEM,0,0); SendMessage(hIV_menu_LocateInfo,IVM_SETCURSEL,0,0); break; case SIID_RETURN://return if (flagLocateInfo>=1 && flagLocateInfo<=3) { win_loclocate (hWndMain, flagLocateInfo); printf("111111111111111111111111111111111111111111\n"); } else { switch (flagLocateInfo) { case 4: win_locate (hWndMain); printf("2222222222222222222222222222222222222222\n"); break; case 5: break; case 6: break; case 7: break; } } CloseTheWindow_LocateInfo (); return 0; break; case SIID_CANCEL: ClickCancel_LocateInfo(); break; case SIID_CHECK: if ( LocateInfocount > 0) { sel = SendMessage(listBox,LB_GETCURSEL,0,0); win_locateInfoMinXi(hWndMain ,sel , LocateInfocount); printf("sel==%d,LocateInfocount=%d\n",sel,LocateInfocount); CloseTheWindow_LocateInfo (); } break; } } return 1;}static void FillListbox (){ int i; char string[200]; for (i = 0;i<LocateInfocount;i++) { sprintf(string ,"%2d%2d%2d_%2d%2d%2d %d~ %d' %d\" %d~ %d' %d\" %X %ld %X %d %d %d %d %d %d %ld", (*(loadedMesg.pLocInfo+i))->dwxx.year, (*(loadedMesg.pLocInfo+i))->dwxx.mon, (*(loadedMesg.pLocInfo+i))->dwxx.day, (*(loadedMesg.pLocInfo+i))->dwxx.hour, (*(loadedMesg.pLocInfo+i))->dwxx.minute, (*(loadedMesg.pLocInfo+i))->dwxx.second, (*(loadedMesg.pLocInfo+i))->dwxx.longitude.du, (*(loadedMesg.pLocInfo+i))->dwxx.longitude.fen, (*(loadedMesg.pLocInfo+i))->dwxx.longitude.miao, (*(loadedMesg.pLocInfo+i))->dwxx.latitude.du, (*(loadedMesg.pLocInfo+i))->dwxx.latitude.fen, (*(loadedMesg.pLocInfo+i))->dwxx.latitude.miao, (*(loadedMesg.pLocInfo+i))->dwxx.normalSign, (*(loadedMesg.pLocInfo+i))->dwxx.height, (*(loadedMesg.pLocInfo+i))->dwxx.abnormalSign, (*(loadedMesg.pLocInfo+i))->dwxx.locatType, (*(loadedMesg.pLocInfo+i))->dwxx.isSecretKey, (*(loadedMesg.pLocInfo+i))->dwxx.precision, (*(loadedMesg.pLocInfo+i))->dwxx.isEmergenLoc, (*(loadedMesg.pLocInfo+i))->dwxx.mutipleKey, (*(loadedMesg.pLocInfo+i))->dwxx.heightType, (*(loadedMesg.pLocInfo+i))->dwxx.queryAddr); //ConnLocInfo (locateInfos[i] , string ); SendMessage (listBox , LB_ADDSTRING, 0, (LPARAM)string); }}static int msg_event_cb_LocateInfo (HWND hwnd, int message, WPARAM wparam, LPARAM lparam, int* result){ HDC hdc; IVITEMINFO ivii_child; int j,i,k ,count; char buff[4]; switch (message) { case MSG_CREATE: printf("case MSG_CREATE:\n"); if ( loadOnce_LocateInfo == 0) { LoadData(INBOX, TYPE_OF_DWXX,GetCount( INBOX, TYPE_OF_DWXX) ); } else { loadOnce_LocateInfo = 0; } LoadBitmap (HDC_SCREEN, &bmp_LocateInfo, "./Pictures/a_location_5.PNG"); /// skin_enable_items (TRUE); printf("-------LocateInfocount value %d\n",LocateInfocount); LocateInfocount = loadedMesg.countOfMesg;//openTheFile("./DataBase/locateInfo.data"); listBox = CreateWindow( CTRL_LISTBOX , NULL, WS_VISIBLE | WS_HSCROLL| WS_VSCROLL | WS_BORDER | LBS_NOTIFY,//| LBS_SORT 2355, 0,21, 160, 150, hwnd, 0); FillListbox (); SendMessage (listBox, LB_SETCURSEL, 0, 0) ; hIV_menu_LocateInfo = CreateMenuWindow(hwnd , 120, 10, 1104); for (i = 0; i < TABLESIZE(icon_labels_LocateInfo); i++) { memset (&ivii_child, 0, sizeof(IVITEMINFO)); ivii_child.bmp = NULL; ivii_child.nItem = i; ivii_child.label = icon_labels_LocateInfo[i] ; ivii_child.addData = i; SendMessage (hIV_menu_LocateInfo, IVM_ADDITEM, 0, (LPARAM)&ivii_child); } break; case MSG_PAINT : hdc=BeginPaint (hwnd); count = SendMessage (listBox, LB_GETCOUNT, 0, 0); SetBkMode (hdc, BM_TRANSPARENT); FillBoxWithBitmap (hdc, ZTL_PIC_X,ZTL_PIC_Y, ZTL_PIC_W,ZTL_PIC_H, &bmp_LocateInfo); TextOut (hdc, WZ_ZTL_X4, WZ_ZTL_Y, "定位信息" ); EndPaint (hwnd,hdc); break; case MSG_DELETE_LOCATEINFO: DeleteLocateInfo(); break; case MSG_DELETEALL_LOCATEINFO: DeleteAllLocateInfo(); break; } return 1;}void win_LocateInfo(HWND hwndmain , int flag){ MSG msg; if (flag >= 0) {flagLocateInfo = flag;} LoadSkinBmps( &skin_LocateInfo, TRUE ,bmp_name_LocateInfo ,(sizeof (bmp_name_LocateInfo))/sizeof(char *) ); if (skin_LocateInfo.bmps == NULL) { printf ("Could not load skin bitmaps!\n"); } if ( !skin_init (&skin_LocateInfo, main_event_cb_LocateInfo, msg_event_cb_LocateInfo) ) { /* 初始化皮肤 */ printf ("skin init fail!\n\n"); } else{ hWndMainLocInfo= create_skin_control (&skin_LocateInfo, hwndmain,143, DEF_X_, DEF_Y_, DEF_WIDTH, DEF_HEIGHT); currShowWindowHwnd = hWndMainLocInfo; //SetFocusChild(hIV_child_LocateInfo); }}#ifndef _LITE_VERSION#include <minigui/dti.c>#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -