📄 win_infoinbox.c~
字号:
/*win_InfoInbox.c*/#include "sysSrcInfo.h"#define SIID_CHECK_INBOX 153static int flagInfoInbox=0;static HWND hIV_menu_InfoInbox;//menustatic HWND editCodeType;static BITMAP icon_bitmap_InfoInbox[3];static BITMAP bmp_InfoInbox;static int rowCount=0;static int sel;static void init_child_InfoInbox();static void init_menu_InfoInbox(HWND hwnd);static IVITEMINFO *piviiChild;static IVITEMINFO *piviiMenu;/* 位图数组 */static const char *icon_files_InfoInbox[3] ={ "Pictures/b_notread_0.png", "Pictures/b_lock_0.png", "Pictures/b_typenull_0.png" };const char *bmp_name_InfoInbox[] = { "./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_InfoInbox[] = { "1 查看", "2 回复", "3 锁定", "4 转发", "5 删除", "6 全部删除", "7 保存地址", "0 回主界面" };/* 定义皮肤元素数组 */static skin_item_t skin_items_InfoInbox [] ={{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_INBOX, SI_TYPE_CHKBUTTON | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE, BUTTONLEFT_X, BUTTON_Y, {}, 5, "" },};/* 定义皮肤 */static skin_head_t skin_InfoInbox ={ "main", //const BITMAP* bmps; SKIN_STYLE_TOOLTIP, NULL, NULL, 0, 5, skin_items_InfoInbox, FALSE /** The number of the items in this skin. */ /* 定义皮肤元素数组 */};static void ShowReturnPic_InfoInbox( int true){ int false; if(true==TRUE){false=FALSE;}else{false=TRUE;} skin_enable_item (&skin_InfoInbox,SIID_CANCEL,false); skin_show_item (&skin_InfoInbox,SIID_CANCEL,false); skin_enable_item (&skin_InfoInbox,SIID_RETURN,true); skin_show_item (&skin_InfoInbox,SIID_RETURN,true); skin_enable_item (&skin_InfoInbox,SIID_OK,false); skin_show_item (&skin_InfoInbox,SIID_OK,false); skin_enable_item (&skin_InfoInbox,SIID_CHECK_INBOX,true); skin_show_item (&skin_InfoInbox,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 * 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 ClickCancel_InfoInbox(){ ShowReturnPic_InfoInbox( TRUE); SendMessage ( hIV_menu_InfoInbox, WS_DISABLED,0,0); EnableWindow ( hIV_menu_InfoInbox, FALSE); SendMessage ( hIV_menu_InfoInbox, WS_DISABLED,0,0); ShowWindow ( hIV_menu_InfoInbox, SW_HIDE); ShowWindow ( hIV_child_InfoInbox, SW_SHOW); EnableWindow ( hIV_child_InfoInbox,TRUE); SetFocusChild( hIV_child_InfoInbox ); SendMessage(hIV_child_InfoInbox,IVM_SELECTITEM,0,0); SendMessage(hIV_child_InfoInbox,IVM_SETCURSEL,0,0); flagInfoInbox=0; InvalidateRect (hWndMain_InfoInbox, NULL,TRUE);//re1draw }static int CloseWindow_InfoInbox()//must change{ int i; ShowWindow ( hIV_menu_InfoInbox, SW_HIDE); ShowWindow ( hIV_child_InfoInbox, SW_HIDE); ShowWindow ( hWndMain_InfoInbox, SW_HIDE); LoadSkinBmps( &skin_InfoInbox, FALSE ,bmp_name_InfoInbox , (sizeof (bmp_name_InfoInbox))/sizeof(char *) ); for(i=0;i<3;i++) { UnloadBitmap( &(icon_bitmap_InfoInbox[i]) ); } UnloadBitmap( &bmp_InfoInbox ); return 1;}static void DeleteIconItem(int sel){ sel = SendMessage ( hIV_child_InfoInbox, IVM_GETCURSEL, 0, 0 ); int count = SendMessage (hIV_child_InfoInbox, IVM_GETITEMCOUNT, 0, 0); char *label = NULL; if (sel >= 0) { label = (char *) SendMessage (hIV_child_InfoInbox, IVM_GETITEMADDDATA, sel, 0); if (label && strlen (label)) printf ("delelete item:%s\n", label); SendMessage (hIV_child_InfoInbox, IVM_DELITEM, sel, 0); if (sel == count - 1) sel --; SendMessage (hIV_child_InfoInbox, 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_InfoInbox, IVM_GETITEMCOUNT, 0, 0); sel = SendMessage ( hIV_child_InfoInbox, IVM_GETCURSEL, 0, 0 ); printf ("sel === %d\n", sel); if( nc==LVN_SELCHANGE ) { // SetCodeType (editCodeType , inBox[sel].codeType ); InvalidateRect ( hWndMain_InfoInbox, NULL,TRUE); }}static void DeleteInbox(){ if (rowCount >0) { if((*(loadedMesg.pCommInfo+sel))->txIndex.lockSymbol!=1 ) { SendMessage (hIV_child_InfoInbox, IVM_DELITEM, sel, 0); Delete( INBOX, TYPE_OF_TXXX, SINGLEMODE, sel+1, (void **)loadedMesg.pCommInfo); ClickCancel_InfoInbox();//must放这 CloseWindow_InfoInbox(); win_InfoInbox(hWndMain); } }}static void DeleteAllInfoInbox(){ if( rowCount >0) { Delete( INBOX, TYPE_OF_TXXX, MUTIPLEMODE, loadedMesg.countOfMesg, (void **)loadedMesg.pCommInfo); CloseWindow_InfoInbox(); win_InfoInbox(hWndMain); }}static int main_event_cb_InfoInbox (HWND hwnd, skin_item_t* item, int event, void* data){ int sel_menu; FILE *fp; int i,count,k,j; if (event == SIE_BUTTON_CLICKED) { sel = SendMessage ( hIV_child_InfoInbox, IVM_GETCURSEL, 0, 0 ); sel_menu = SendMessage ( hIV_menu_InfoInbox, IVM_GETCURSEL, 0, 0 ); switch (item->id) { //按的那个图片 case SIID_OK: if(flagInfoInbox==1) { switch(sel_menu) { case 0://"1 查看 ", // if (rowCount >0) { win_InfoLook ( hWndMain , sel , 1); CloseWindow_InfoInbox(); } break; case 1://"2 回复 " // if (rowCount >0) { CloseWindow_InfoInbox(); } break; case 2://"3 锁定 ,解锁", // if( rowCount >0) { //ClickCancel_InfoInbox();//不能放这 if( (*(loadedMesg.pCommInfo+sel))->txIndex.lockSymbol==0||(*(loadedMesg.pCommInfo+sel))->txIndex.lockSymbol==2) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -