⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 win_locateinfo.c~

📁 这是一个linux下基于MiniGUI的手机界面设计源码
💻 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 + -