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

📄 win_infooutbox.c

📁 这是一个linux下基于MiniGUI的手机界面设计源码
💻 C
字号:
/*win_infoOutbox.c*//***	COMPANY NAME:	国星**	FILE    NAME:	win_infoOutbox.c**	FILE	PATH:	Interface/win_infoOutbox.c**	WINDOWS NAME:	通信 **	WINDOWS PATH:	通信 / 发件箱**	OTHER INFORMATION;	无**	CREATER	NAME:	LiWencheng,JiangYuanqing**	MENDER	NAME:	LiWencheng,JiangYuanqing**	CHANGE  TIME:	11/14/2007 */#include "sysSrcInfo.h"#define SIID_CHECK_OUTBOX	154static int sel;static int rowCount=0;static int flagOutbox=0;//static BITMAP bmp_Outbox;static HWND hIV_menu_Outbox;static BITMAP icon_bitmap_Outbox[2];static void init_child_Outbox();static void init_menu_Outbox(HWND hwnd);static HWND editCodeType,editSpeedType;/* 位图数组 */static const char *icon_files_Outbox[] ={	"Pictures/b_lock_0.png",	"Pictures/b_typenull_0.png" };const char *bmp_name_Outbox[] = {	"./Pictures/b_windowsbackground_1.PNG",			//第一张来做主界面	"./Pictures/OK.PNG",				"./Pictures/menu.PNG",					"./Pictures/b_cancel_0.PNG"	,			"./Pictures/return.PNG",				"./Pictures/c_check.PNG"		};const char *icon_labels_Outbox[] = {	"1 查看",    	"2 锁定",    	"3 重发",    	"4 转发",   	"5 删除",    	"6 全部删除",   	"0 回主界面"  };/* 定义皮肤元素数组 */static skin_item_t skin_items_Outbox [] ={{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_OUTBOX,   SI_TYPE_CHKBUTTON   | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE,     BUTTONLEFT_X,   BUTTON_Y, {},   5, "" },};/* 定义皮肤 */static skin_head_t skin_Outbox ={    "main",  //const BITMAP* bmps;    SKIN_STYLE_TOOLTIP, NULL, NULL,     0, 5, skin_items_Outbox, FALSE /** The number of the items in this skin. */  /* 定义皮肤元素数组 */ //注意上面数组的大小变了,则8变成多少};static void CloseTheWindow_Outbox(){		int i;                          LoadSkinBmps( &skin_Outbox, FALSE ,bmp_name_Outbox ,					(sizeof (bmp_name_Outbox))/sizeof(char *) );		for(i=0;i<2;i++)		{			UnloadBitmap( &(icon_bitmap_Outbox[i]) );		}              ShowWindow ( hIV_menu_Outbox, SW_HIDE);              ShowWindow ( hIV_child_Outbox, SW_HIDE);              ShowWindow ( hWndMain_Outbox, SW_HIDE);		UnloadBitmap(  &bmp_Outbox );}static void  ShowMenu_Outbox( int true1){     int true = true1;	if(true==TRUE)	{					SendMessage( hIV_child_Outbox, WS_DISABLED,0,0);			EnableWindow( hIV_child_Outbox,FALSE);            SendMessage( hIV_child_Outbox, WS_DISABLED,0,0);			ShowWindow(hIV_menu_Outbox,SW_SHOW);			EnableWindow( hIV_menu_Outbox,TRUE);            SetFocusChild( hIV_menu_Outbox );            SendMessage(hIV_menu_Outbox,IVM_SELECTITEM,0,0);            SendMessage(hIV_menu_Outbox,IVM_SETCURSEL,0,0);		}	else	{			SendMessage ( hIV_menu_Outbox, WS_DISABLED,0,0);                     EnableWindow (  hIV_menu_Outbox, FALSE);                     SendMessage ( hIV_menu_Outbox,  WS_DISABLED,0,0);                     ShowWindow ( hIV_menu_Outbox, SW_HIDE);                     ShowWindow ( hIV_child_Outbox, SW_SHOW);                  	EnableWindow ( hIV_child_Outbox,TRUE);                  	SetFocusChild(  hIV_child_Outbox );		   	SendMessage(hIV_child_Outbox,IVM_SELECTITEM,0,0);                	SendMessage(hIV_child_Outbox,IVM_SETCURSEL,0,0);	}}static void ShowReturnPic_Outbox( int true){	int false;	if(true==TRUE){false=FALSE;}else{false=TRUE;}	skin_enable_item (&skin_Outbox,SIID_CANCEL,false);       skin_show_item (&skin_Outbox,SIID_CANCEL,false);	skin_enable_item (&skin_Outbox,SIID_RETURN,true);       skin_show_item (&skin_Outbox,SIID_RETURN,true);	skin_enable_item (&skin_Outbox,SIID_OK,false);       skin_show_item (&skin_Outbox,SIID_OK,false);	skin_enable_item (&skin_Outbox,SIID_CHECK_OUTBOX,true);       skin_show_item (&skin_Outbox,SIID_CHECK_OUTBOX,true);}static void ClickCancel_Outbox(){		flagOutbox=0;		ShowReturnPic_Outbox( TRUE );		ShowMenu_Outbox( FALSE );}static void myDrawItem (HWND hWnd, GHANDLE hsvi, HDC hdc, RECT *rcDraw){    const PBITMAP pbmp = (PBITMAP)iconview_get_item_bitmap (hsvi);    const char *label = (const char*)iconview_get_item_label (hsvi);    SetBkMode (hdc, BM_TRANSPARENT);    SetTextColor (hdc, PIXEL_black);    if (iconview_is_item_hilight(hWnd, hsvi)) {        SetBrushColor (hdc, PIXEL_blue);    }    else {        SetBrushColor (hdc, PIXEL_lightwhite);    }    FillBox (hdc, rcDraw->left, rcDraw->top, RECTWP(rcDraw), RECTHP(rcDraw));//select state    SetBkColor (hdc, PIXEL_red);    if (label) {        RECT rcTxt = *rcDraw;//      rcTxt.top = rcTxt.bottom - GetWindowFont (hWnd)->size * 2;        rcTxt.top = rcTxt.bottom - (GetWindowFont (hWnd)->size) *1.1;        rcTxt.left = rcTxt.left - (GetWindowFont (hWnd)->size) + 18;        DrawText (hdc, label, -1, &rcTxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);    }    FillBoxWithBitmap (hdc, rcDraw->left, rcDraw->top, 0, 0, pbmp);//fill pic}static void DeleteIconItem(int sel){	char *label = NULL;		sel = SendMessage ( hIV_child_Outbox, IVM_GETCURSEL, 0, 0 );      int count = SendMessage (hIV_child_Outbox, IVM_GETITEMCOUNT, 0, 0);                               if (sel >= 0)	{		SendMessage (hIV_child_Outbox, IVM_DELITEM, sel, 0);             if (sel == count - 1)             	sel --;             SendMessage (hIV_child_Outbox, IVM_SETCURSEL, sel, 1);        }}static void FU_notif_proc_child_Inbox(HWND hwnd ,int id, int nc, DWORD add_data){ 	int count = SendMessage (hIV_child_Outbox, IVM_GETITEMCOUNT, 0, 0);	sel = SendMessage ( hIV_child_Outbox, IVM_GETCURSEL, 0, 0 );        if( nc==LVN_SELCHANGE )//除草稿箱(2)外重会        {		//SetCodeType (editCodeType , outBox[sel].codeType );		//SetSpeedType (editSpeedType, outBox[sel].speedType);		InvalidateRect (hWndMain_Outbox, NULL,TRUE);        }}static int main_event_cb_Outbox (HWND hwnd, skin_item_t* item, int event, void* data){    static int sel_menu;    FILE *fp;    int i,count,k,j;    if (event == SIE_BUTTON_CLICKED) {    sel = SendMessage ( hIV_child_Outbox, IVM_GETCURSEL, 0, 0 );    sel_menu = SendMessage ( hIV_menu_Outbox, IVM_GETCURSEL, 0, 0 );    switch (item->id) {  //按的那个图片	case SIID_OK:	    if(flagOutbox==1){		switch(sel_menu){ 		    case 0://"1 查看 ",     //									if (rowCount >0)				{				CloseTheWindow_Outbox();				win_InfoLook ( hWndMain , sel , 0);				}		        break;		    case 1://"2 锁定 ,解锁"      //				if( rowCount >0){				//ClickCancel_Outbox();//不能放这				if((*(loadedMesg.pCommInfoOut+sel))->txIndex.lockSymbol==2) 				{(*(loadedMesg.pCommInfoOut+sel))->txIndex.lockSymbol=1;}//加锁				else{(*(loadedMesg.pCommInfoOut+sel))->txIndex.lockSymbol=2;}//解锁				//WriteToFile (0, rowCount);	//保存	//				for(i=0;i<rowCount;i++){SendMessage (hIV_child_Outbox, IVM_DELITEM, 0, 0);}   				SendMessage (hIV_child_Outbox, IVM_RESETCONTENT,1,1);//clear icon item//must				SaveLockSymbol( OUTBOX, sel );		 		init_child_Outbox();//刷新				//win_InfoOutbox(hWndMain);				ClickCancel_Outbox();				SendMessage (hIV_child_Outbox, IVM_SETCURSEL, sel, 1);//光标停留原处			    	InvalidateRect (hWndMain_Outbox, NULL,TRUE);//re1draw 			    	}		        break;		    case 2://"3 chongfa",     //		    		if (rowCount >0)				{		    		CloseTheWindow_Outbox();				win_InfoCreat (hWndMain , sel,2);				}			    break;		    case 3://"4 转发 ",     //		    		if (rowCount >0)				{				CloseTheWindow_Outbox();				win_InfoCreat (hWndMain , sel,3);				}			    break;		    case 4://"5 删除 ",     // 				if (rowCount >0)				{					if((*(loadedMesg.pCommInfoOut+sel))->txIndex.lockSymbol!=1){                			SendMessage (hIV_child_InfoInbox, IVM_DELITEM, sel, 0);					Delete( OUTBOX, TYPE_OF_TXXX, SINGLEMODE, sel+1, (void **)loadedMesg.pCommInfoOut);					//UnloadData( OUTBOX, TYPE_OF_TXXX );				  	ClickCancel_Outbox();//must放这								CloseTheWindow_Outbox();					win_InfoOutbox(hWndMain);					}				}			    break;		    case 5://"6 全部删除",  //				if (rowCount >0){					Delete( OUTBOX, TYPE_OF_TXXX, MUTIPLEMODE, loadedMesg.countOfMesg, (void **)loadedMesg.pCommInfoOut);					//UnloadData( OUTBOX, TYPE_OF_TXXX );					CloseTheWindow_Outbox();					win_InfoOutbox(hWndMain);				}						            break;		    case 6://回到index界面"0 回主界面"   //回到index界面		    						CloseTheWindow_Outbox();								win_index(hWndMain);																break;				   		}//switch	    }//if	    else	    {	    }//else      		break;//case SIID_OK:       case SIID_CHECK_OUTBOX:       		if (rowCount >0)       			{       			CloseTheWindow_Outbox();				win_InfoLook ( hWndMain , sel , 0);			}       		break;	case SIID_MENU:		flagOutbox=1;		SendMessage (hIV_menu_Outbox, IVM_RESETCONTENT,1,1);//clear icon item//must		init_menu_Outbox( hwnd );//刷新 first		ShowMenu_Outbox( TRUE );		ShowReturnPic_Outbox( FALSE );				break;             case SIID_RETURN://return		CloseTheWindow_Outbox();		win_information( hWndMain );            break;	case SIID_CANCEL:		ClickCancel_Outbox();	    break;        }     }    return 1;}static void init_child_Outbox(){	 int i,j;	IVITEMINFO ivii;                             for (i = 0; i <  rowCount; i++) {//get 10 chars for title						 memset (&ivii, 0, sizeof(IVITEMINFO));				 						if((*(loadedMesg.pCommInfoOut+i))->txIndex.lockSymbol==1)						{ ivii.bmp = &icon_bitmap_Outbox[0];}//锁定图片1						else{ ivii.bmp = &icon_bitmap_Outbox[1];}//无图片2						ivii.nItem =  i;						ivii.label=(*(loadedMesg.pCommInfoOut+i))->txIndex.message;                        SendMessage (hIV_child_Outbox, IVM_ADDITEM, 0, (LPARAM)&ivii);               }                    SendMessage(hIV_child_Outbox,IVM_SELECTITEM,0,0);                    SendMessage(hIV_child_Outbox,IVM_SETCURSEL,0,0);}static void init_menu_Outbox(HWND hwnd){		int i;		IVITEMINFO ivii;			for (i = 0; i < TABLESIZE(icon_labels_Outbox); i++) {				memset (&ivii, 0, sizeof(IVITEMINFO));				ivii.bmp = NULL;        	    ivii.nItem =  i;		if (rowCount != 0)	        	{			if( i ==1 && (*(loadedMesg.pCommInfoOut+sel))->txIndex.lockSymbol==1)			{ ivii.label="2 解锁" ;}			else {ivii.label = icon_labels_Outbox[i];}		}             else {ivii.label = icon_labels_Outbox[i];}             //ivii.label =  icon_labels_Outbox[i] ;		 ivii.bmp=NULL;	      ivii.addData = i;        	SendMessage (hIV_menu_Outbox, IVM_ADDITEM, 0, (LPARAM)&ivii);	  	}}static int msg_event_cb_Outbox (HWND hwnd, int message, WPARAM wparam, LPARAM lparam, int* result){	HDC hdc;	IVITEMINFO ivii;	char buff[10];	char buffTime[20];       int j,i,k;        switch (message) {        	case MSG_CREATE:			sel = 0;			printf("--------Sel is %d-------\n",sel);			LoadData(OUTBOX, TYPE_OF_TXXX, GetCount(OUTBOX,TYPE_OF_TXXX) );			rowCount = GetCount( OUTBOX, TYPE_OF_TXXX );			printf("=============Current rowCount value is %d========\n",rowCount);			LoadBitmap (HDC_SCREEN, &bmp_Outbox, "Pictures/a_information_2.PNG");		  	ShowReturnPic_Outbox( TRUE );			if(rowCount > 0)			{			editCodeType = CreateCodeTypeEdit (hwnd);			SetCodeType (editCodeType ,(int)( (*(loadedMesg.pCommInfoOut+sel))->txIndex.chType) );			editSpeedType = CreateSpeedTypeEdit (hwnd);			SetSpeedType (editSpeedType, (int)( (*(loadedMesg.pCommInfoOut+sel))->txIndex.commType) );			}               	for (j=0; j<TABLESIZE(icon_files_Outbox);j++) {//加图片                  		LoadBitmap (HDC_SCREEN,&icon_bitmap_Outbox[j],icon_files_Outbox[j]);                   	}		  	hIV_child_Outbox = CreateChildWindow_INFO(hwnd,0,21,160,120,1563);		  	SendMessage (hIV_child_Outbox, IVM_SETITEMSIZE, 130, 17);			  	init_child_Outbox(  );	  	   	hIV_menu_Outbox = CreateMenuWindow(hwnd , 90,  7, 1041);		   	init_menu_Outbox( hwnd );	        break;	  case MSG_PAINT :				hdc=BeginPaint (hwnd);             		SetBkMode (hdc, BM_TRANSPARENT); 		FillBoxWithBitmap (hdc, ZTL_PIC_X,ZTL_PIC_Y, ZTL_PIC_W,ZTL_PIC_H, &bmp_Outbox);		TextOut (hdc, WZ_ZTL_X3, WZ_ZTL_Y, "发件箱" ); 		 		sprintf(buff, "[%d]", rowCount);//count              TextOut (hdc, 80, 2, buff);                              if(rowCount != 0)             	{             	sprintf (buff ,"收方:%ld", (*(loadedMesg.pCommInfoOut+sel))->txIndex.srcID);  			TextOut (hdc,RJ_X,144,buff);			sprintf (buffTime,"%d-%d-%d %d:%d",currTime.year,currTime.mon,currTime.mday, 			(*(loadedMesg.pCommInfoOut+sel))->txIndex.hour,			(*(loadedMesg.pCommInfoOut+sel))->txIndex.minute);				printf("now time is hour %d: ,min %d\n",(*(loadedMesg.pCommInfoOut+sel))->txIndex.hour,			(*(loadedMesg.pCommInfoOut+sel))->txIndex.minute);		             	sprintf (buff ,"时间:%s", buffTime); //time			TextOut (hdc,RJ_X,154,buff);		}		EndPaint (hwnd,hdc);	      break;    }    return 1;}int win_InfoOutbox(HWND hwndmain){    	MSG msg;	LoadSkinBmps( &skin_Outbox, TRUE ,bmp_name_Outbox ,(sizeof (bmp_name_Outbox))/sizeof(char *) );        if (skin_Outbox.bmps == NULL) {      	  	printf ("Could not load skin bitmaps!\n");        }	if ( !skin_init (&skin_Outbox, main_event_cb_Outbox, msg_event_cb_Outbox) ){    /* 初始化皮肤 */        	printf ("skin init fail!\n\n");    	}    	else{ 			hWndMain_Outbox=  create_skin_control (&skin_Outbox, hwndmain,143, DEF_X_, DEF_Y_,                               DEF_WIDTH, DEF_HEIGHT);                            SetFocusChild(hIV_child_Outbox);			currShowWindowHwnd = hWndMain_Outbox;          }}#ifndef _LITE_VERSION#include <minigui/dti.c>#endif

⌨️ 快捷键说明

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