static int TimeEditorWinProc (HWND hWnd, int message, WPARAM wParam, LPARAM lParam) { switch (message) { case MSG_CREATE: { HWND hwnd; HDC hdc; HWND timeedit, spin; SIZE size; hwnd = CreateWindow (CTRL_STATIC, PROMPT, WS_CHILD | WS_VISIBLE | SS_LEFT, IDC_STATIC, 10, 10, 210, 200, hWnd, 0); timefont = CreateLogFont (NULL, "System", "ISO8859-1", FONT_WEIGHT_BOOK, FONT_SLANT_ROMAN, FONT_FLIP_NIL, FONT_OTHER_AUTOSCALE, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE, 32, 0); hdc = GetClientDC (hWnd); SelectFont (hdc, timefont); GetTextExtent (hdc, "00:00:00", -1, &size); ReleaseDC (hdc); timeedit = CreateWindow (CTRL_SLEDIT, "00:00:00", WS_CHILD | WS_VISIBLE | ES_BASELINE, IDC_EDIT, 40, 220, size.cx + 4, size.cy + 4, hWnd, 0); SetWindowFont (timeedit, timefont); old_edit_proc = SetWindowCallbackProc (timeedit, TimeEditBox); spin = CreateWindow (CTRL_SPINBOX, "", WS_CHILD | WS_VISIBLE, IDC_SPINBOX, 40 + size.cx + 6, 220 + (size.cy - 14) / 2, 20, 20, hWnd, 0); SendMessage (spin, SPM_SETTARGET, 0, timeedit); break; } case MSG_DESTROY: DestroyAllControls (hWnd); DestroyLogFont (timefont); return 0; case MSG_CLOSE: DestroyMainWindow (hWnd); PostQuitMessage (hWnd); return 0; } return DefaultMainWinProc (hWnd, message, wParam, lParam); }
/** 创建指定大小的TTF字体 输入: @param size : 要建立字体的大小 输出: TTF逻辑字体 */ PLOGFONT CreateFont_TTF( int size) { PLOGFONT TTF_View; //此处根据需要可以修改字体类型 TTF_View = CreateLogFont(NULL, "Times", "ISO8859-1", FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL, FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE, size, 0); return TTF_View; }
static int boardwinproc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam) { HDC hdc; char sstr[20]; static char keyupFlag=0; int tmpvalue = 0; switch (message) { case MSG_CREATE: LoadBitmap(HDC_SCREEN,&smsshowbk,GetBmpPath("sms.jpg")); LoadBitmap(HDC_SCREEN,&barbmp, GetBmpPath("bar.bmp")); LoadBitmap(HDC_SCREEN,&smsshowbmp1,GetBmpPath("left2.gif")); LoadBitmap(HDC_SCREEN,&smsshowbmp2,GetBmpPath("right2.gif")); if (gfont==NULL) { smsshowfont = CreateLogFont (NULL,"fixed","GB2312",FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL, FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,10, 0); titlefont = CreateLogFont (NULL,"fixed","GB2312",FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL, FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,12, 0); } else { smsshowfont=gfont; titlefont=gfont1; } LoadsshowHint(); InitWindow(hWnd); //add controls curIdx=1; ShowMessage(hWnd,GetSmsPIN(curIdx)); exitcount = 0; #ifdef ZEM600 SetTimer(hWnd,IDC_TIMERSMS,50); #else SetTimer(hWnd,IDC_TIMERSMS,100); #endif break; case MSG_PAINT: hdc=BeginPaint(hWnd); //write title SelectFont(hdc,titlefont); SetTextColor(hdc,PIXEL_lightwhite); tmpvalue = SetBkMode(hdc,BM_TRANSPARENT); memset(sstr,0,20); sprintf(sstr,"%s",sshowhint[0]); TextOut(hdc,140,15,sstr); // SetBkColor(hdc,0x00FFA2BE); //SelectFont(hdc,smsshowfont); SelectFont(hdc,titlefont); SetTextColor(hdc,PIXEL_lightwhite); memset(sstr,0,20); if (fromRight) sprintf(sstr,"%s",sshowhint[1]); else sprintf(sstr,"%s:",sshowhint[1]); TextOut(hdc,5,220,sstr); FillBoxWithBitmap (hdc, 65, 218,16, 16, &smsshowbmp1); memset(sstr,0,20); if (fromRight) sprintf(sstr,"%s",sshowhint[2]); else sprintf(sstr,"%s:",sshowhint[2]); TextOut(hdc,90,220,sstr); FillBoxWithBitmap (hdc, 140, 218,16, 16, &smsshowbmp2); memset(sstr,0,20); if (fromRight) sprintf(sstr,"%s%d:%s,%s%d:%s",sshowhint[3],bsmscount,sshowhint[4],sshowhint[5],curIdx,sshowhint[4]); else sprintf(sstr,"%s:%d%s,%s:%d%s",sshowhint[3],bsmscount,sshowhint[4],sshowhint[5],curIdx,sshowhint[4]); TextOut(hdc,170,220,sstr); EndPaint(hWnd,hdc); break; case MSG_ERASEBKGND: { HDC hdc = (HDC)wParam; const RECT* clip = (const RECT*)lParam; BOOL fGetDC = FALSE; RECT rcTemp; if(hdc == 0) { hdc = GetClientDC(hWnd); fGetDC = TRUE; } if(clip) { rcTemp = *clip; ScreenToClient(hWnd, &rcTemp.left, &rcTemp.top); ScreenToClient(hWnd,&rcTemp.right, &rcTemp.bottom); IncludeClipRect(hdc, &rcTemp); } FillBoxWithBitmap (hdc, 0, 0, gOptions.LCDWidth, gOptions.LCDHeight-30, &smsshowbk); FillBoxWithBitmap (hdc, 0, 210, gOptions.LCDWidth,30,&barbmp); if(fGetDC) ReleaseDC (hdc); break; } case MSG_KEYUP: if(3 == gOptions.TFTKeyLayout) { keyupFlag=1; } break; case MSG_KEYDOWN: SetMenuTimeOut(time(NULL)); if(3 == gOptions.TFTKeyLayout) { if(1==keyupFlag) keyupFlag=0; else break; } exitcount=0; if ((LOWORD(wParam)==SCANCODE_ESCAPE)) PostMessage(hWnd,MSG_CLOSE,0,0L); /*SMS快捷键查看,modify by yangxiaolong,start*/ //del /* if(LOWORD(wParam)==SCANCODE_CURSORBLOCKDOWN || LOWORD(wParam)==SCANCODE_CURSORBLOCKUP) { SendMessage(EdText,MSG_KEYDOWN,wParam,lParam); }*/ //add //快捷键查看SMS时,上下键翻动换行反应缓慢,调成翻页处理 if(LOWORD(wParam)==SCANCODE_CURSORBLOCKDOWN) { SendMessage(EdText,MSG_KEYDOWN,SCANCODE_PAGEDOWN,lParam); } else if (LOWORD(wParam)==SCANCODE_CURSORBLOCKUP) { SendMessage(EdText,MSG_KEYDOWN,SCANCODE_PAGEUP,lParam); } /*SMS快捷键查看,modify by yangxiaolong,end*/ if(LOWORD(wParam)==SCANCODE_F11) SendMessage(EdText,MSG_KEYDOWN,SCANCODE_PAGEUP,lParam); if(LOWORD(wParam)==SCANCODE_F12) SendMessage(EdText,MSG_KEYDOWN,SCANCODE_PAGEDOWN,lParam); //if(LOWORD(wParam)==SCANCODE_CURSORBLOCKLEFT && bsmscount>1) if((LOWORD(wParam)==SCANCODE_CURSORBLOCKLEFT || (LOWORD(wParam)==SCANCODE_BACKSPACE && 3==gOptions.TFTKeyLayout)) && bsmscount>1) { if(--curIdx < 1) curIdx = bsmscount; ShowMessage(hWnd,GetSmsPIN(curIdx)); } if(LOWORD(wParam)==SCANCODE_CURSORBLOCKRIGHT && bsmscount>1) { if(++curIdx > bsmscount) curIdx = 1; ShowMessage(hWnd,GetSmsPIN(curIdx)); } break; case MSG_TIMER: if(wParam==IDC_TIMERSMS) { if(++exitcount>60) SendMessage(hWnd,MSG_CLOSE,0,0); } break; case MSG_CLOSE: UnloadBitmap(&smsshowbk); UnloadBitmap(&barbmp); UnloadBitmap(&smsshowbmp1); UnloadBitmap(&smsshowbmp2); if (gfont1==NULL) { DestroyLogFont(smsshowfont); DestroyLogFont(titlefont); } KillTimer(hWnd,IDC_TIMERSMS); freeList(); DestroyMainWindow(hWnd); //hSMSWnd=NULL; break; default: return DefaultMainWinProc(hWnd,message,wParam,lParam); } return (0); }
static int ControlOneLogWinProc (HWND hWnd, int message, WPARAM wParam, LPARAM lParam) { HDC hdc; HWND statushWnd; static char keyupFlag=0; switch (message) { case MSG_CREATE: { LoadBitmap(HDC_SCREEN,&onequerybmp,GetBmpPath("warningsmall.gif")); if (gfont1==NULL) { logqyfont = CreateLogFont (NULL,"fixed","GB2312",FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,12, 0); logqyfont1 = CreateLogFont (NULL,"fixed","GB2312",FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,12, 0); } else { logqyfont1=gfont1; logqyfont=gfont1; } if (gOptions.ShowState){ g_celcount=5; } else { g_celcount=4; } statushWnd = createStatusWin1(hWnd , 250 , 50 , LoadStrByID(MID_APPNAME) , LoadStrByID(MID_WAIT)); ProcessFindLog(hWnd,oneuserpin,onesttm,oneedtm); destroyStatusWin1(statushWnd); SetFocusChild(hOneLogWnd); SendMessage(hOneLogWnd,LVM_CHOOSEITEM,0,0); processlogstateandvf(hWnd); return 0; } /* case MSG_ERASEBKGND: { HDC hdc = (HDC)wParam; const RECT* clip = (const RECT*) lParam; BOOL fGetDC = FALSE; RECT rcTemp; if (hdc == 0) { hdc = GetClientDC (hWnd); fGetDC = TRUE; } if (clip) { rcTemp = *clip; ScreenToClient (hWnd, &rcTemp.left, &rcTemp.top); ScreenToClient (hWnd, &rcTemp.right, &rcTemp.bottom); IncludeClipRect (hdc, &rcTemp); } FillBoxWithBitmap (hdc, 0, 210, 32, 32, &onequerybmp); if (fGetDC) ReleaseDC (hdc); return 0; } */ case MSG_PAINT: SetMenuTimeOut(time(NULL)); hdc=BeginPaint(hWnd); //FillBoxWithBitmap (hdc, 10, 217, 24, 24, &onequerybmp); FillBoxWithBitmap (hdc, 10+gOptions.GridWidth, 215, 24, 24, &onequerybmp); EndPaint(hWnd,hdc); return 0; case MSG_COMMAND: if (wParam == IDCANCEL){ SendMessage (hWnd, MSG_CLOSE, 0, 0L); break; } if ((LOWORD(wParam)==IDC_LISTVIEW) &&(HIWORD(wParam)==LVN_SELCHANGE)){ processlogstateandvf(hWnd); } break; case MSG_KEYUP: if(3 == gOptions.TFTKeyLayout) { keyupFlag=1; } break; case MSG_KEYDOWN: SetMenuTimeOut(time(NULL)); if(3 == gOptions.TFTKeyLayout) { if(1==keyupFlag) { keyupFlag=0; } else { break; } } if (gOptions.KeyPadBeep) { ExKeyBeep(); } if ( LOWORD(wParam)==SCANCODE_ESCAPE ) { SendMessage (hWnd, MSG_CLOSE, 0, 0L); } if(LOWORD(wParam)==SCANCODE_F12) { SendMessage(hOneLogWnd,MSG_KEYDOWN,SCANCODE_PAGEDOWN,0); processscrollview(hOneLogWnd,1,10); } if(LOWORD(wParam)==SCANCODE_F11) { SendMessage(hOneLogWnd,MSG_KEYDOWN,SCANCODE_PAGEUP,0); processscrollview(hOneLogWnd,0,10); } break; case MSG_CLOSE: UnloadBitmap(&onequerybmp); if (gfont==NULL) { DestroyLogFont(logqyfont); DestroyLogFont(logqyfont1); } DestroyMainWindow(hWnd); return TRUE; } return DefaultMainWinProc (hWnd, message, wParam, lParam); }