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

📄 win_status.c~

📁 这是一个linux下基于MiniGUI的手机界面设计源码
💻 C~
📖 第 1 页 / 共 2 页
字号:
/*win_status.c*/#include "sysSrcInfo.h"#define SIID_INTENSITY_1		1234 //主波#define SIID_INTENSITY		2224#define SIID_STATE_PLANNET	2#define SIID_STATE_ALARM	3#define SIID_MESSAGE		4#define SIID_TIMER		       5#define SIID_BATTERY		6#define SIID_CLOSE              7#define SIID_INTENSITY_2	8	//从波#define SIID_HAS_ID		9#define ID_TIME 		28#define INTENSITY_BUTTON1		11#define STATE_PLANNET_BUTTON2	12#define STATE_ALARM3			13#define MESSAGE_BUTTON4		14#define SIID_TIMER_BUTTON5		15#define BATTERY_BUTTON6		16//nothing#define MSG_DESTROYAnimation  17#define ZTL_WIDTH_		26/*#define ALARM_OK	0#define ALARM_NAV	1#define ALARM_CRC	2#define ALARM_LOC	3*/#define CELL_STA	1#define CELL_GIF	2 #define CELL_CHONGDIAN 0#define STATUS_OK		1#define STATUS_NOTWORK 	2//#define HAS_INFOMATION	1//#define NO_INFOMATION	0extern pthread_mutex_t	nStaCount_Mutex;static  HWND child , animationInfo , animationSta , animationAlarmOK,animationAlarmCRC,animationAlarmNav,animationAlarmLoc,animationCell;//任务栏区中各标量的位图资源路径数组char *mainWinBmps[MAINWINSTATUS] = {		//主界面"./Pictures/b_windowsbackground_0.PNG"};char *beamIntenBmps[BEAMINTENSTATUS] = {       //波束强度"./Pictures/beam_intensity_0.PNG","./Pictures/beam_intensity_1.PNG", "./Pictures/beam_intensity_2.PNG","./Pictures/beam_intensity_3.PNG","./Pictures/beam_intensity_4.PNG","./Pictures/beam_intensity_5.PNG"};char *B_StateBmps[B_STASTATUS] = {		//卫星状态"./Pictures/State_Plannet_green.PNG","./Pictures/State_Plannet_purple.PNG"};char *sysAlarmBmps[SYSALMSTATUS] = {		//报警"./Pictures/alarm_OK.PNG","./Pictures/alarm_navigate.PNG","./Pictures/alarm_local.PNG","./Pictures/alarm_CRC.PNG"};char *sysMessageBmps[SYSMESSTATUS] = {       //消息 "./Pictures/no_message.PNG","./Pictures/has_message.PNG"};char *sysTimerBmps[SYSTIMSTATUS] = {		//时间信息"./Pictures/timer_num.PNG"};char *sysCardInfoBmps[SYSCARDSTATUS] = {     //是否有卡"./Pictures/has_ID.PNG"};char *batteryInfoBmps[BATTERYSTATUS] = {     //电池电量"./Pictures/battery_0.PNG","./Pictures/battery_1.PNG","./Pictures/battery_2.PNG","./Pictures/battery_3.PNG","./Pictures/battery_4.PNG","./Pictures/battery_5.PNG"};static const char  *currentBmps[10] = {"./Pictures/b_windowsbackground_0.PNG",               //当前状态栏上的位图资源路径数组"./Pictures/beam_intensity_0.PNG",    "./Pictures/beam_intensity_0.PNG",   "./Pictures/State_Plannet_green.PNG","./Pictures/alarm_OK.PNG",           //"./Pictures/no_message.PNG",    "./Pictures/d_hidebutton.png",   //5  "./Pictures/timer_num.PNG",          "./Pictures/has_ID.PNG",             "./Pictures/battery_0.PNG",//"./Pictures/OK.PNG",				//10//"./Pictures/adjustTime.PNG",                //11//"./Pictures/menu.PNG",//"./Pictures/return.PNG"				//12   "./Pictures/TouMing.png"};                             /* 定义皮肤元素特定属性 */static si_bmplabel_t timer         = { "00:00", "0123456789:-" };/* 定义皮肤元素数组 */static skin_item_t skin_main_items [] ={{SIID_INTENSITY,      SI_TYPE_CHKBUTTON    | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE  |SI_NRMSLIDER_HORZ,  3, 0, {}, 1, ""},{SIID_INTENSITY_1,    SI_TYPE_CHKBUTTON    | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE  ,   17, 0, {}, 2, ""},//{SIID_STATE_PLANNET,  	SI_TYPE_CHKBUTTON  | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE//  ,   33, 1, {}, 3, ""},    //{SIID_STATE_ALARM,    SI_TYPE_CHKBUTTON    | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE//  ,   62, 0, {}, 4, ""},{SIID_TIMER,         SI_TYPE_BMPLABEL      | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE  ,   107,2, {}, 6, "Time", 0, &timer},{SIID_HAS_ID,         SI_TYPE_CHKBUTTON    | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE   ,   131,0, {}, 7 , ""},{SIID_BATTERY,         SI_TYPE_CHKBUTTON    | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE  ,   137, 0,{}, 8 ,"" },//BUTTONS//{INTENSITY_BUTTON1,       SI_TYPE_CHKBUTTON     | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE//,  ZTL_WIDTH_*0, 0, {}, 9, "" },//84{STATE_PLANNET_BUTTON2,       SI_TYPE_CHKBUTTON     | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE  ,   ZTL_WIDTH_*1, 0, {}, 9, "" },//84{STATE_ALARM3	,       SI_TYPE_CHKBUTTON     | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE  ,   ZTL_WIDTH_*2, 0, {}, 9, "" },//84{MESSAGE_BUTTON4,       SI_TYPE_CHKBUTTON     | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE  ,   ZTL_WIDTH_*3, 0, {}, 9, "" },//84{SIID_TIMER_BUTTON5	,       SI_TYPE_CHKBUTTON     | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE  ,   ZTL_WIDTH_*4, 0, {}, 9, "" },//84//{BATTERY_BUTTON6,       SI_TYPE_CHKBUTTON     | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE//  ,   ZTL_WIDTH_*5, 0, {}, 9, "" },//84};/* 定义皮肤 */static skin_head_t status_skin ={    "main",  //const BITMAP* bmps;   SKIN_STYLE_TOOLTIP, NULL, NULL,     0, 9, skin_main_items, FALSE /** The number of the items in this skin. */  /* 定义皮肤元素数组 */};/* 位图资源装/卸载函数 *//* typeIndex   是当前bmpsPathcurrentBmps数组类型索引值,匹配不同标志,如值"1"表示主波的状态值*//* statusIndex 是状态栏中标量的各状态对应位图资源在其路径数组中的索引值 *//*  只有在对任务栏区*指定*位图资源进行装/卸载时才会使用typeIndex,statusIndex参数,注意他们有效的取值范围*/void ChangeStateBmp( skin_head_t *skin, BOOL load , int tpyIndex,int statusIndex  ){   if( tpyIndex >= 0 && tpyIndex < 12 )//若类型索引值在currentBmps结构体数组索引边界内则  装载或卸载指定状态索引值的位图资源    {   	  switch ( tpyIndex )         {	  	 	             case 1 :   		         if (load)  //对主波状态位图装/卸载                          {		                        	LoadBitmapFromFile (HDC_SCREEN,(PBITMAP)&(skin->bmps[tpyIndex]),beamIntenBmps[statusIndex]);				currentBmps[1]= beamIntenBmps[statusIndex];			  }        	 	   else                		UnloadBitmap ((PBITMAP)&(skin->bmps[1]));                                                 break; 		case 2 :			   if (load) //对从波状态位图装/卸载                           {                        	LoadBitmapFromFile (HDC_SCREEN,(PBITMAP)&(skin->bmps[tpyIndex]),beamIntenBmps[statusIndex]);				currentBmps[2]= beamIntenBmps[statusIndex];		           }        	 	   else                		UnloadBitmap ((PBITMAP)&(skin->bmps[2]));                      break;		case 3 :			   if (load) //对卫星状态位图装/卸载			  {                        	LoadBitmapFromFile (HDC_SCREEN,(PBITMAP)&(skin->bmps[tpyIndex]),B_StateBmps[statusIndex]);                           currentBmps[3]= beamIntenBmps[statusIndex];			  }        	 	   else                		UnloadBitmap ((PBITMAP)&(skin->bmps[3]));                      break;		case 4 :  			   if (load) //对报警状态位图装/卸载			  {                        	LoadBitmapFromFile (HDC_SCREEN,(PBITMAP)&(skin->bmps[tpyIndex]),sysAlarmBmps[statusIndex]);				currentBmps[4]= beamIntenBmps[statusIndex];			  }        	 	   else                		UnloadBitmap ((PBITMAP)&(skin->bmps[4]));                      break;		case 5 :			   if (load) //对消息状态位图装/卸载			  {                        	LoadBitmapFromFile (HDC_SCREEN,(PBITMAP)&(skin->bmps[tpyIndex]),sysMessageBmps[statusIndex]);				currentBmps[5]= beamIntenBmps[statusIndex];			  }        	 	   else                		UnloadBitmap ((PBITMAP)&(skin->bmps[5]));                      break;		case 6 :			   if (load) //对时间状态位图装载			  {                        	LoadBitmapFromFile (HDC_SCREEN,(PBITMAP)&(skin->bmps[tpyIndex]),sysTimerBmps[statusIndex] );				currentBmps[6]= beamIntenBmps[statusIndex];			  }        	 	                        break;		case 7 :			   if (load) //对卡状态位图装/卸载		          {                        	LoadBitmapFromFile (HDC_SCREEN,(PBITMAP)&(skin->bmps[tpyIndex]),sysCardInfoBmps[statusIndex]);				currentBmps[7]= beamIntenBmps[statusIndex];			  }        	 	   else                		UnloadBitmap ((PBITMAP)&(skin->bmps[7]));                      break;		case 8 :			   if (load) //对电池状态位图装/卸载			  {                        	LoadBitmapFromFile (HDC_SCREEN,(PBITMAP)&(skin->bmps[tpyIndex]),batteryInfoBmps[statusIndex]);				currentBmps[8]= beamIntenBmps[statusIndex];		          }        	 	   else                		UnloadBitmap ((PBITMAP)&(skin->bmps[8]));                      break;             default:  //更换主界面皮肤的功能有待解决                             break;         } //end of switch     }}static void CloseTheWindow(){		int i;				//MainWindowCleanup (hWndMaininfo);		//skin_deinit (&skin_information);                       	//MiniGUIExtCleanUp ();         				//ChangeStateBmp (&status_hWndMaininfoskin, FALSE,1,-1);  //卸载指定的任务栏区皮肤元素位图资源			//ChangeStateBmp (&status_skin, FALSE,2,-1);  //卸载指定的任务栏区皮肤元素位图资源			//ChangeStateBmp (&status_skin, FALSE,7,-1);  //卸载指定的任务栏区皮肤元素位图资源			//ChangeStateBmp (&status_skin, FALSE,8,-1);  //卸载指定的任务栏区皮肤元素位图资源		//SendMessage (hWndMainStatus,MSG_DESTROY,0,0);             //ShowWindow ( hWndMainStatus, SW_HIDE);             DestroyAllControls (hWndMain);              		LoadSkinBmps (&status_skin, FALSE,currentBmps,(sizeof (currentBmps))/sizeof(char *));		//return 1;//关闭成功返回true	}void ShowPlannetState (int state){	switch (state)	{		case STATUS_OK:		    SendMessage (animationSta,ANM_STOPPLAY,0,0);		    		break;		case STATUS_NOTWORK:		    SendMessage (animationSta,ANM_STARTPLAY,0,0);		break;	}	UpdateWindow (hWndMainStatus, TRUE);	}void ShowMessage (int mess){	switch (mess)	{		case HAS_INFOMATION:			Pthread_mutex_lock( &nStaCount_Mutex );			messageStatusCount ++;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -