📄 win_queryresult.c
字号:
/*win_queryResult.c*//*** COMPANY NAME: 国星** FILE NAME: win_queryResult.c** FILE PATH: Interface/win_queryResult.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_INBOX 153static int sel;static int rowCount=0;static HWND editCodeType;static BITMAP bmp_queryResult;static int flagqueryResult=0;//static HWND hIV_menu_queryResult;//menustatic BITMAP icon_bitmap_queryResult[3];static void init_child_queryResult();static void init_menu_queryResult(HWND hwnd);static IVITEMINFO *piviiChild;static IVITEMINFO *piviiMenu;/* 位图数组 */static const char *icon_files_queryResult[3] ={ "Pictures/b_notread_0.png", "Pictures/b_lock_0.png", "Pictures/b_typenull_0.png" };const char *bmp_name_queryResult[] = { "./Pictures/b_windowsbackground_1.PNG", //第一张来做主界面 "./Pictures/OK.PNG", "./Pictures/b_cancel_0.PNG" , "./Pictures/return.PNG", "./Pictures/c_check.PNG" };const char *icon_labels_queryResult[] = { "1 查看", "2 回复", "3 锁定", "4 转发", "5 删除", "6 全部删除", "7 保存地址", "0 回主界面" };/* 定义皮肤元素数组 */static skin_item_t skin_items_queryResult [] ={{SIID_OK, SI_TYPE_CHKBUTTON | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE, BUTTONLEFT_X, BUTTON_Y, {}, 1 ,"" },{SIID_CANCEL, SI_TYPE_CHKBUTTON | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE, BUTTONRIGHT_X, BUTTON_Y, {}, 2, "" },{SIID_RETURN, SI_TYPE_CHKBUTTON | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE, BUTTONRIGHT_X, BUTTON_Y, {}, 3, "" },{SIID_CHECK_INBOX, SI_TYPE_CHKBUTTON | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE, BUTTONLEFT_X, BUTTON_Y, {}, 4, "" },};/* 定义皮肤 */static skin_head_t skin_queryResult ={ "skin_queryResult", //const BITMAP* bmps; SKIN_STYLE_TOOLTIP, NULL, NULL, 0, 4, skin_items_queryResult, FALSE /** The number of the items in this skin. */ /* 定义皮肤元素数组 */};static void ShowReturnPic_queryResult( int true){ int false; if(true==TRUE){false=FALSE;}else{false=TRUE;} skin_enable_item (&skin_queryResult,SIID_CANCEL,false); skin_show_item (&skin_queryResult,SIID_CANCEL,false); skin_enable_item (&skin_queryResult,SIID_RETURN,true); skin_show_item (&skin_queryResult,SIID_RETURN,true); skin_enable_item (&skin_queryResult,SIID_OK,false); skin_show_item (&skin_queryResult,SIID_OK,false); skin_enable_item (&skin_queryResult,SIID_CHECK_INBOX,true); skin_show_item (&skin_queryResult,SIID_CHECK_INBOX,true);}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) *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 ClickCancel_queryResult(){ ShowReturnPic_queryResult( TRUE); SendMessage ( hIV_menu_queryResult, WS_DISABLED,0,0); EnableWindow ( hIV_menu_queryResult, FALSE); SendMessage ( hIV_menu_queryResult, WS_DISABLED,0,0); ShowWindow ( hIV_menu_queryResult, SW_HIDE); ShowWindow ( hIV_child_queryResult, SW_SHOW); EnableWindow ( hIV_child_queryResult,TRUE); SetFocusChild( hIV_child_queryResult ); SendMessage(hIV_child_queryResult,IVM_SELECTITEM,0,0); SendMessage(hIV_child_queryResult,IVM_SETCURSEL,0,0); flagqueryResult=0; InvalidateRect (hWndMain_queryResult, NULL,TRUE);//re1draw }static int CloseWindow_queryResult()//must change{ int i; ShowWindow ( hIV_menu_queryResult, SW_HIDE); ShowWindow ( hIV_child_queryResult, SW_HIDE); ShowWindow ( hWndMain_queryResult, SW_HIDE); LoadSkinBmps( &skin_queryResult, FALSE ,bmp_name_queryResult , (sizeof (bmp_name_queryResult))/sizeof(char *) ); for(i=0;i<3;i++) { UnloadBitmap( &(icon_bitmap_queryResult[i]) ); } UnloadBitmap( &bmp_queryResult ); return 1;}static void DeleteIconItem(int sel){ sel = SendMessage ( hIV_child_queryResult, IVM_GETCURSEL, 0, 0 ); int count = SendMessage (hIV_child_queryResult, IVM_GETITEMCOUNT, 0, 0); char *label = NULL; if (sel >= 0){ label = (char *) SendMessage (hIV_child_queryResult, IVM_GETITEMADDDATA, sel, 0); if (label && strlen (label)) printf ("delelete item:%s\n", label); SendMessage (hIV_child_queryResult, IVM_DELITEM, sel, 0); if (sel == count - 1) sel --; SendMessage (hIV_child_queryResult, 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_queryResult, IVM_GETITEMCOUNT, 0, 0); sel = SendMessage ( hIV_child_queryResult, IVM_GETCURSEL, 0, 0 ); if( nc==LVN_SELCHANGE ) { // SetCodeType (editCodeType , inBox[sel].codeType ); InvalidateRect ( hWndMain_queryResult, NULL,TRUE); }}static int main_event_cb_queryResult (HWND hwnd, skin_item_t* item, int event, void* data){ if (event == SIE_BUTTON_CLICKED) { sel = SendMessage ( hIV_child_queryResult, IVM_GETCURSEL, 0, 0 ); switch (item->id) { //按的那个图片 case SIID_CHECK_INBOX: if (rowCount >0) { switch(currSelectResult) { case BY_NEWINPUT: win_InfoLook ( hWndMain , sel , 5); break; case BY_SENDID: win_InfoLook ( hWndMain , sel , 3); break; case BY_FEEDBACK: win_InfoLook ( hWndMain , sel , 4); break; } CloseWindow_queryResult(); } break; case SIID_RETURN://return switch(currSelectResult) { case BY_NEWINPUT: break; case BY_SENDID: break; case BY_FEEDBACK: UnloadData( INBOX, TYPE_OF_FKXX); break; } win_InfoQuery(hWndMain ); CloseWindow_queryResult(); break; } } return 1;}static void init_child_queryResult(){ char a[15]; char b[11]; int i,j; IVITEMINFO ivii; rowCount = loadedMesg.countOfMesg; switch (currSelectResult) { case BY_NEWINPUT: case BY_SENDID: for (i = 0; i < rowCount; i++) { memset (&ivii, 0, sizeof(IVITEMINFO)); if( (*(loadedMesg.pCommInfo+i))->txIndex.lockSymbol==0) { ivii.bmp = &icon_bitmap_queryResult[0]; }//未读图片0 else if((*(loadedMesg.pCommInfo+i))->txIndex.lockSymbol==1) { ivii.bmp = &icon_bitmap_queryResult[1];}//锁定图片1 else{ ivii.bmp = &icon_bitmap_queryResult[2];}//无图片2 ivii.nItem = i; ivii.label= (*(loadedMesg.pCommInfo+i))->txIndex.message; SendMessage (hIV_child_queryResult, IVM_ADDITEM, 0, (LPARAM)&ivii); } break; case BY_FEEDBACK: for (i = 0; i < rowCount; i++) { memset (&ivii, 0, sizeof(IVITEMINFO)); ivii.bmp = NULL; ivii.nItem = i; ivii.label= (loadedMesg.fkInfo+i)->fkxx.AdditionalINfor; SendMessage (hIV_child_queryResult, IVM_ADDITEM, 0, (LPARAM)&ivii); } break; } SendMessage(hIV_child_queryResult,IVM_SELECTITEM,0,0); SendMessage(hIV_child_queryResult,IVM_SETCURSEL,0,0);}static int msg_event_cb_queryResult (HWND hwnd, int message, WPARAM wparam, LPARAM lparam, int* result){ HDC hdc; IVITEMINFO ivii; char buff[30]; char buffTime[20]; int j,i,k; switch (message) { case MSG_CREATE: LoadBitmap (HDC_SCREEN, &bmp_queryResult, "./Pictures/a_information_1.PNG"); ShowReturnPic_queryResult ( TRUE); for (j=0; j<TABLESIZE(icon_files_queryResult);j++) {//加图片 LoadBitmap (HDC_SCREEN,&icon_bitmap_queryResult[j],icon_files_queryResult[j]); } hIV_child_queryResult = CreateChildWindow_INFO (hwnd,0,17,160 ,120,1065); SetNotificationCallback( hIV_child_queryResult ,FU_notif_proc_child_Inbox );//回调 init_child_queryResult (); InvalidateRect (hwnd, NULL, TRUE); 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_queryResult); TextOut (hdc, WZ_ZTL_X3, WZ_ZTL_Y, "qResu" ); switch(currSelectResult) { case BY_NEWINPUT: case BY_SENDID: //sprintf(buff, "[%d/%d]",loadedMesg.countOfUnread, loadedMesg.countOfMesg ); //TextOut (hdc, 80, 2, buff); if(rowCount != 0) { sprintf (buff ,"Sender:%ld", (*(loadedMesg.pCommInfo+sel))->txIndex.srcID);//sendNo TextOut (hdc,RJ_X,138,buff); sprintf (buffTime,"%d-%d-%d %d:%d", currTime.year,currTime.mon,currTime.mday, (*(loadedMesg.pCommInfo+sel))->txIndex.hour, (*(loadedMesg.pCommInfo+sel))->txIndex.minute); sprintf (buff ,"时间:%s", buffTime); //time TextOut (hdc,RJ_X,154,buff); } break; case BY_FEEDBACK: if(rowCount != 0) { sprintf (buff ,"发方:%ld", (loadedMesg.fkInfo+sel)->fkxx.srcID);//sendNo TextOut (hdc,RJ_X,138,buff); } break; } EndPaint (hwnd,hdc); break; } return 1;}int win_queryResult(HWND hwnd ){ MSG msg; LoadSkinBmps( &skin_queryResult, TRUE ,bmp_name_queryResult ,(sizeof (bmp_name_queryResult))/sizeof(char *) ); if (skin_queryResult.bmps == NULL) { printf ("Could not load skin bitmaps!\n"); return 0; } if ( !skin_init (&skin_queryResult, main_event_cb_queryResult, msg_event_cb_queryResult) ){ /* 初始化皮肤 */ printf ("skin init fail!\n\n"); return 0; } else{ hWndMain_queryResult= create_skin_control (&skin_queryResult, hwnd,143, DEF_X_, DEF_Y_, DEF_WIDTH, DEF_HEIGHT); SetFocusChild(hIV_child_queryResult); currShowWindowHwnd = hWndMain_queryResult; return 1; } }#ifndef _LITE_VERSION#include <minigui/dti.c>#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -