📄 win_infooutbox.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 + -