static int inputBoxProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { int len; switch (message) { case MSG_INITDIALOG: SetWindowAdditionalData(hDlg, (DWORD)lParam); return 1; case MSG_COMMAND: switch (wParam) { case IDOK: len = GetWindowTextLength (GetDlgItem (hDlg, IDC_INPUT_PASSWORD)); if (len > 0) { GetWindowText (GetDlgItem (hDlg, IDC_INPUT_PASSWORD), (char *)GetWindowAdditionalData(hDlg), len); len = 0; } case IDCANCEL: EndDialog (hDlg, wParam); break; } break; case MSG_CLOSE: EndDialog (hDlg, IDCANCEL); break; } return DefaultDialogProc (hDlg, message, wParam, lParam); }
int SetPathBoxProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { switch (message) { case MSG_INITDIALOG: { char cwd [MAX_PATH + 1]; SetNotificationCallback (GetDlgItem (hDlg, IDL_DIR), dir_notif_proc); // SetNotificationCallback (GetDlgItem (hDlg, IDL_FILE), file_notif_proc); SetNotificationCallback (GetDlgItem (hDlg, IDC_CHAR), char_notif_proc); fill_boxes (hDlg, getcwd (cwd, MAX_PATH)); return 1; } case MSG_COMMAND: switch (wParam) { case IDOK: prompt (hDlg); if(!opendir(cd)) mkdir(cd,0111); case IDCANCEL: EndDialog (hDlg, wParam); break; } break; } return DefaultDialogProc (hDlg, message, wParam, lParam); }
static int PropSheetProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { switch (message) { case MSG_INITDIALOG: { HWND pshwnd = GetDlgItem (hDlg, IDC_PROPSHEET); DlgStructParams.controls = CtrlStructParams; SendMessage (pshwnd, PSM_ADDPAGE, (WPARAM)&DlgStructParams, (LPARAM)PageProc1); DlgPassword.controls = CtrlPassword; SendMessage ( pshwnd, PSM_ADDPAGE, (WPARAM)&DlgPassword,(LPARAM) PageProc2); DlgStartupMode.controls = CtrlStartupMode; SendMessage ( pshwnd, PSM_ADDPAGE, (WPARAM)&DlgStartupMode,(LPARAM)PageProc3); DlgInitProgress.controls = CtrlInitProgress; SendMessage ( pshwnd, PSM_ADDPAGE, (WPARAM)&DlgInitProgress, (LPARAM) PageProc4); break; } case MSG_COMMAND: switch (wParam) { case IDC_APPLY: break; case IDOK: { int index = SendDlgItemMessage (hDlg, IDC_PROPSHEET, PSM_SHEETCMD, IDOK, 0); if (index) { SendDlgItemMessage (hDlg, IDC_PROPSHEET, PSM_SETACTIVEINDEX, index - 1, 0); } else EndDialog (hDlg, wParam); break; } case IDCANCEL: EndDialog (hDlg, wParam); break; } break; } return DefaultDialogProc (hDlg, message, wParam, lParam); }
static int PropSheetProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { switch (message) { case MSG_INITDIALOG: { HWND pshwnd = GetDlgItem (hDlg, IDC_PROPSHEET); PageSysInfo.controls = CtrlSysInfo; PageSysInfo.caption = version_info; PageSysInfo.dwAddData = PAGE_VERSION; SendMessage (pshwnd, PSM_ADDPAGE, (WPARAM)&PageSysInfo, (LPARAM)SysInfoPageProc); PageSysInfo.caption = CPU_info; PageSysInfo.dwAddData = PAGE_CPU; SendMessage (pshwnd, PSM_ADDPAGE, (WPARAM)&PageSysInfo, (LPARAM)SysInfoPageProc); PageSysInfo.caption = mem_info; PageSysInfo.dwAddData = PAGE_MEMINFO; SendMessage (pshwnd, PSM_ADDPAGE, (WPARAM)&PageSysInfo, (LPARAM)SysInfoPageProc); PageSysInfo.caption = partition_info; PageSysInfo.dwAddData = PAGE_PARTITION; SendMessage (pshwnd, PSM_ADDPAGE, (WPARAM)&PageSysInfo, (LPARAM)SysInfoPageProc); PageSysInfo.caption = MiniGUI_info; PageSysInfo.dwAddData = PAGE_MINIGUI; SendMessage (pshwnd, PSM_ADDPAGE, (WPARAM)&PageSysInfo, (LPARAM)SysInfoPageProc); break; } case MSG_COMMAND: switch (wParam) { case IDOK: SendDlgItemMessage (hDlg, IDC_PROPSHEET, PSM_SHEETCMD, IDOK, 0); break; case IDCANCEL: EndDialog (hDlg, wParam); break; } break; } return DefaultDialogProc (hDlg, message, wParam, lParam); }
static int ConfigDialogBoxProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { switch (message) { case MSG_INITDIALOG: init_config(hDlg); return 1; case MSG_COMMAND: switch (wParam) { case IDC_NETWORK_OK: ok(hDlg); case IDC_NETWORK_CANCEL: case IDCANCEL: EndDialog (hDlg, wParam); break; } break; } return DefaultDialogProc (hDlg, message, wParam, lParam); }
static int InitDialogBoxProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { switch (message) { case MSG_INITDIALOG: return 1; case MSG_COMMAND: switch (wParam) { case IDOK: case IDCANCEL: EndDialog (hDlg, wParam); break; } break; case MSG_CLOSE: EndDialog (hDlg, IDCANCEL); break; } return DefaultDialogProc (hDlg, message, wParam, lParam); }
static int NonDongleDialogBoxProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { static int i; //DEB("--[3G]connect-box"); switch (message) { case MSG_INITDIALOG: return 1; case MSG_COMMAND: switch (wParam) { case IDC_DONGLE_CLOSE: case IDCANCEL: DEB("--[conect]wvdial--"); //system("kill %d",pid); EndDialog (hDlg, wParam); break; } break; } return DefaultDialogProc (hDlg, message, wParam, lParam); }
/* 对话框回调函数 */ static int DlgProc(HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { int temp; char strMenu[100]; int i; RECT rcDlg; switch(message){ case MSG_INITDIALOG:{ //获得限值 iTmpHigh_EtCO2 = gCfgCO2.wHigh_EtCO2; iTmpHigh_FiCO2 = gCfgCO2.wHigh_FiCO2; // iTmpHigh_RR = gCfgCO2.wHigh_awRR; iTmpLow_EtCO2 = gCfgCO2.wLow_EtCO2; // iTmpLow_RR = gCfgCO2.wLow_awRR; // iTmpApnea = gCfgCO2.wApneaTime; //创建控件 CreateCtlProc(hDlg); //设置控件字符 InitCtlName(hDlg); //初始化列表框 InitCobList(hDlg); //设置控件回调函数 InitCtlCallBackProc(hDlg); gbKeyType = KEY_TAB; SetFocus(btnOk); }break; case MSG_PAINT:{ }break; case MSG_COMMAND:{ int id = LOWORD(wParam); switch(id){ case DID_CO2SET_SET_ALMCLASS:{ gbKeyType = KEY_UD; SetFocus(cobAlmClass); }break; case DID_CO2SET_SET_ALMPRINT:{ gbKeyType = KEY_UD; SetFocus(cobAlmPrint); }break; case DID_CO2SET_SET_HIGH_ETCO2:{ gbKeyType = KEY_UD; SetFocus(editHigh_EtCO2); }break; case DID_CO2SET_SET_LOW_ETCO2:{ gbKeyType = KEY_UD; SetFocus(editLow_EtCO2); }break; case DID_CO2SET_SET_HIGH_FICO2:{ gbKeyType = KEY_UD; SetFocus(editHigh_FiCO2); }break; case DID_CO2SET_SET_HIGH_RR:{ gbKeyType = KEY_UD; SetFocus(editHigh_RR); }break; case DID_CO2SET_SET_LOW_RR:{ gbKeyType = KEY_UD; SetFocus(editLow_RR); }break; case DID_CO2SET_SET_APNEA:{ gbKeyType = KEY_UD; SetFocus(editApnea); }break; case DID_CO2SET_OK:{ PostMessage(hDlg, MSG_CLOSE, 0, 0L); }break; } }break; case MSG_KEYUP:{ switch(wParam){ case SCANCODE_ESCAPE:{ PostMessage(hDlg, MSG_CLOSE, 0, 0L); }break; }//end switch }break; case MSG_CLOSE:{ gbKeyType = KEY_TAB; EndDialog(hDlg, wParam); }break; } temp = DefaultDialogProc(hDlg, message, wParam, lParam); return(temp); }
static int ProxyBoxProc(HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { RECT rc; PROXY_INFO proxys; switch (message) { case MSG_INITDIALOG: { for (int i=PROXY_HTTP; i<PROXY_MAX; i++) { PROXY_ITEM proxy; int idc = 0; memset(&proxy, 0x0, sizeof(proxy)); mdolphin_get_proxy((PROXY_TYPE)i, &proxy); switch (i) { case PROXY_HTTP: idc = IDC_HTTP_PROXY_HOST; break; case PROXY_SOCKS4: case PROXY_SOCKS5: idc = IDC_SOCKS_PROXY_HOST; break; } setProxyItem(hDlg, idc, proxy.host); setProxyItem(hDlg, idc+1, proxy.port); setProxyItem(hDlg, idc+2, proxy.name); setProxyItem(hDlg, idc+3, proxy.pwd); } GetWindowRect((HWND)(lParam), &rc); MoveWindow(hDlg, RECTW(rc)/2-160, RECTH(rc)/2-120, WIN_WIDTH, WIN_HEIGHT, TRUE); return 1; } case MSG_COMMAND: switch (wParam) { case IDC_PROXY_MANUAL: setProxyCtrlsEnable(hDlg, TRUE); break; case IDC_PROXY_AUTO: setProxyCtrlsEnable(hDlg, FALSE); break; case IDOK: { BOOL enable = FALSE; proxys.num = 2; proxys.items = (PROXY_ITEM*)malloc(sizeof(PROXY_ITEM) * proxys.num); memset(proxys.items, 0x0, sizeof(PROXY_ITEM) * proxys.num); for (int i=0; i<proxys.num; i++) { int idc = (i<<2) + IDC_HTTP_PROXY_HOST; if (! getProxyItem(hDlg, idc, &proxys.items[i].host)) goto err; if (! getProxyItem(hDlg, idc+1, &proxys.items[i].port)) goto err; if (! getProxyItem(hDlg, idc+2, &proxys.items[i].name)) goto err; if (! getProxyItem(hDlg, idc+3, &proxys.items[i].pwd)) goto err; switch (idc) { case IDC_HTTP_PROXY_HOST: proxys.items[i].type = PROXY_HTTP; break; case IDC_SOCKS_PROXY_HOST: proxys.items[i].type = PROXY_SOCKS5; break; default: proxys.items[i].type = PROXY_MAX; break; } } enable = (GetWindowStyle(GetDlgItem(hDlg, IDC_PROXY_AUTO)) & BS_CHECKED)?FALSE:TRUE; mdolphin_set_proxy(&proxys, enable); err: for (int i=0; i<proxys.num; i++) { if (proxys.items[i].host) free(proxys.items[i].host); if (proxys.items[i].port) free(proxys.items[i].port); if (proxys.items[i].name) free(proxys.items[i].name); if (proxys.items[i].pwd) free(proxys.items[i].pwd); } } case IDCANCEL: EndDialog (hDlg, wParam); break; } break; case MSG_CLOSE: EndDialog (hDlg, IDCANCEL); break; } return DefaultDialogProc (hDlg, message, wParam, lParam); }
static int InitMainDialogBoxProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { char *Pt; char *recv_at=malloc(20); //char *str; char *str1=malloc(200); char *str2=malloc(200); int time=0; int shijian3=0; switch (message) { case MSG_INITDIALOG: //检测GSM #ifdef _TIMER_UNIT_10MS SetTimer ( hDlg, 0, 10 ); #else SetTimer ( hDlg, 0, 1 ); #endif if(!GSM_Ini()) SetDlgItemText(hDlg,SMSG_STATE,"\n你SIM卡呢!"); else //显示SIM的信息 { if(SearchString(Cmd_16c450("COPS?",0),"CHN-CUGSM")) sim_info = "\n\t\t\t\t\t\t\t\t\t\t\t\t中国联通"; else sim_info = "\n\t\t\t\t\t\t\t\t\t\t\t\t中国移动"; SetDlgItemText(hDlg,SMSG_STATE,sim_info); } //*/ MsgNum = Read_SIM_SMsg_num(); return 1; case MSG_TIMER: printf("MSG_TIMER\n"); if(new_msmsmsg_flag==1) { time++; if(time>shijian) { time=0; new_msmsmsg_flag=0; SetDlgItemText(hDlg,SMSG_STATE,""); } } // //msgNum=Read_SIM_SMsg_num(); //返回当前SIM 卡中有多少条短信 //msg_num_itoa(numstring,msgNum+1); //if(!SearchString(Cmd_16c450(numstring,9),"ERROR")) if(!SearchString(Cmd_16c450(msg_num_itoa(numstring,MsgNum+1),9),"ERROR")) { printf("NEW SMSMSG\n"); new_msmsmsg_flag=1; SetDlgItemText(hDlg,SMSG_STATE,"NEW SMSMSG"); // //sprintf(P,"%s%s", "\"", phnum); //sprintf(P_spr,"%s%s", P,"\""); //sprintf(P,"%s%s","CMGR=",P_spr); sprintf(recv_at,"%s%s","CMGR=", msg_num_itoa(numstring,MsgNum+1)); Pt = Cmd_16c450(recv_at,0); //sprintf(str,"%s%s","\t", Message_Src( Pt)); //sprintf(str,"%s%s",Message_Src( Pt), "\n"); //sprintf(str,"%s%s","\t", Message_Time(Pt)); //sprintf(str,"%s%s",Message_Time(Pt), "\n"); //sprintf(str,"%s%s","\t", Message_Content(Pt)); sprintf(str1,"\n%s\n%s",Message_Src( Pt),Message_Time(Pt)); sprintf(str2,"%s\n%s",str1,Message_Content(Pt)); //sprintf(str,"%s%s",Message_Content(Pt), "\n"); //SetDlgItemText(hDlg,SMSG_STATE,Message_Src( Pt)); //SetDlgItemText(hDlg,SMSG_STATE,Message_Time(Pt)); //SetDlgItemText(hDlg,SMSG_STATE,Message_Content(Pt)); SetDlgItemText(hDlg,SMSG_STATE,str2); MsgNum+=1; } //{ // // printf("有新短信\n"); //msg_num_itoa(numstring,msgNum+1); // //} return 1; case MSG_COMMAND: switch (wParam) { case SMSG_SEND: //发短信-----处理 SEND_SMSG(hDlg); break; case SMSG_OK: //查看新短信-----处理 break; case SMSG_INBOX: //收件箱-----处理 INBOX_SMSG(hDlg); break; case SMSG_HELP: //帮助-----处理 HELP_SMSG(hDlg); break; } break; } free(str1); free(str2); free(recv_at); return DefaultDialogProc (hDlg, message, wParam, lParam); }
static int BookProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { switch (message) { case MSG_INITDIALOG: { SVITEMINFO svii; static int i = 0; hScrollView = GetDlgItem (hDlg, IDC_SCROLLVIEW); SetWindowBkColor (hScrollView, PIXEL_lightwhite); SendMessage (hScrollView, SVM_SETITEMCMP, 0, (LPARAM)myCmpItem); SendMessage (hScrollView, SVM_SETITEMDRAW, 0, (LPARAM)myDrawItem); for (i = 0; i < TABLESIZE(people); i++) { svii.nItemHeight = 32; svii.addData = (DWORD)people[i]; svii.nItem = i; SendMessage (hScrollView, SVM_ADDITEM, 0, (LPARAM)&svii); SendMessage (hScrollView, SVM_SETITEMADDDATA, i, (DWORD)people[i]); } break; } case MSG_COMMAND: { int id = LOWORD (wParam); int code = HIWORD (wParam); switch (id) { case IDC_SCROLLVIEW: if (code == SVN_CLICKED) { int sel; const char *info; sel = SendMessage (hScrollView, SVM_GETCURSEL, 0, 0); info = (const char *)SendMessage (hScrollView, SVM_GETITEMADDDATA, sel, 0); } break; } break; } case MSG_KEYDOWN: if (wParam == SCANCODE_REMOVE) { int idx = SendMessage (hScrollView, SVM_GETCURSEL, 0, 0); SendMessage (hScrollView, SVM_DELITEM, idx, 0); SendMessage (hScrollView, SVM_SETCURSEL, idx, 0); return 0; } break; case MSG_CLOSE: { EndDialog (hDlg, 0); return 0; } } return DefaultDialogProc (hDlg, message, wParam, lParam); }
/* 对话框回调函数 */ static int DlgProc(HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { int temp; char strMenu[100]; int i; RECT rcDlg; switch(message){ case MSG_INITDIALOG:{ //创建控件 CreateCtlProc(hDlg); //设置控件字符 InitCtlName(hDlg); //初始化combobox InitCobList(hDlg); //初始化Edit InitEditText(hDlg); //设置控件回调函数 InitCtlCallBackProc(hDlg); gbKeyType = KEY_TAB; SetFocus(btnOk); }break; case MSG_PAINT:{ }break; case MSG_COMMAND:{ int id = LOWORD(wParam); switch(id){ case DID_RECORDER_WAVE1:{ gbKeyType = KEY_UD; SetFocus(cobWave1); }break; case DID_RECORDER_WAVE2:{ gbKeyType = KEY_UD; SetFocus(cobWave2); }break; case DID_RECORDER_WAVE3:{ gbKeyType = KEY_UD; SetFocus(cobWave3); }break; case DID_RECORDER_DURATION:{ gbKeyType = KEY_UD; SetFocus(editDuration); }break; case DID_RECORDER_SPEED:{ gbKeyType = KEY_UD; SetFocus(cobSpeed); }break; case DID_RECORDER_AUTO:{ gbKeyType = KEY_UD; SetFocus(editAuto); }break; case DID_RECORDER_OK:{ PostMessage(hDlg, MSG_CLOSE, 0, 0L); }break; } }break; case MSG_KEYUP:{ switch(wParam){ case SCANCODE_ESCAPE:{ PostMessage(hDlg, MSG_CLOSE, 0, 0L); }break; }//end switch }break; case MSG_CLOSE:{ gbKeyType = KEY_TAB; EndDialog(hDlg, wParam); }break; } temp = DefaultDialogProc(hDlg, message, wParam, lParam); return(temp); }
static int ColorDlgProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { PSCOLORDIA scld; switch (message) { case MSG_INITDIALOG: { int i, j; Uint8 r, g, b; HDC hdc, mdc; scld = (PSCOLORDIA)lParam; SetWindowAdditionalData (hDlg, (LPARAM)scld); hdc = GetClientDC (hDlg); scld->SpaceDC = CreateCompatibleDCEx(hdc, scld->sp_w, scld->sp_h); mdc = CreateCompatibleDCEx (hdc, 360, 256); for (i = 0; i < 360; i ++) { for (j = 0; j < 256; j ++) { HSV2RGB (i, j, 200, &r, &g, &b); SetPixelRGB(mdc, i, 256-j, r, g, b); } } StretchBlt(mdc, 0, 0, 360, 256, scld->SpaceDC, 0, 0, scld->sp_w, scld->sp_h, 0); DeleteMemDC(mdc); ReleaseDC(hdc); } break; case MSG_CLOSE: EndDialog (hDlg, SELCOLOR_CANCEL); break; case MSG_DESTROY: scld = (PSCOLORDIA)GetWindowAdditionalData (hDlg); DeleteMemDC (scld->SpaceDC); break; case MSG_PAINT: { HDC hdc; scld = (PSCOLORDIA)GetWindowAdditionalData (hDlg); hdc = BeginPaint (hDlg); DrawAllSpace (hdc, scld); EndPaint (hDlg, hdc); return 0; } case MSG_COMMAND: { int msg = HIWORD(wParam); int id = LOWORD(wParam); scld = (PSCOLORDIA)GetWindowAdditionalData (hDlg); if (msg == EN_CONTCHANGED) { UpdateValue (hDlg, id, scld); } switch(id) { case IDC_CANCEL: EndDialog (hDlg, SELCOLOR_CANCEL); break; case IDC_OK: scld->H = scld->clrh; scld->S = scld->clrs; scld->V = scld->clrv; HSV2RGB (scld->clrh, scld->clrs, scld->clrv, &scld->R, &scld->G, &scld->B); scld->PIXEL = RGB2Pixel (HDC_SCREEN, scld->R, scld->G, scld->B); EndDialog (hDlg, SELCOLOR_OK); break; } break; } case MSG_LBUTTONDOWN: { int x = LOSWORD (lParam); int y = HISWORD (lParam); scld = (PSCOLORDIA)GetWindowAdditionalData (hDlg); if (PtInRect (&scld->rcSpace, x, y)) { HDC dc = GetClientDC (hDlg); scld->clrh = (x-scld->rcSpace.left)*360/RECTW(scld->rcSpace); scld->clrs = 256-(y-scld->rcSpace.top)*256/RECTH(scld->rcSpace); DrawAllSpace (dc, scld); SetValue (hDlg, scld); ReleaseDC (dc); } if (PtInRect(&scld->rcYSpace, x,y)) { HDC dc = GetClientDC (hDlg); scld->clrv = (y-scld->rcYSpace.top)*256 / RECTH(scld->rcYSpace); DrawAllSpace (dc, scld); SetValue (hDlg, scld); ReleaseDC (dc); } } } return DefaultDialogProc (hDlg, message, wParam, lParam); }
static int SpinProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { HWND hSpin; SPININFO spinfo; hSpin = GetDlgItem (hDlg, IDC_SPIN); switch (message) { case MSG_INITDIALOG: { spinfo.min = 0; spinfo.max = 10; spinfo.cur = 0; SendMessage (hSpin, SPM_SETTARGET, 0, (LPARAM)hDlg); SendMessage (hSpin, SPM_SETINFO, 0, (LPARAM)&spinfo); } break; case MSG_KEYDOWN: { if (wParam == SCANCODE_CURSORBLOCKUP || wParam == SCANCODE_CURSORBLOCKDOWN) { if (!(lParam & KS_SPINPOST)) { int cur; cur = SendMessage (hSpin, SPM_GETCUR, 0, 0); printf ("cur pos: %d\n", cur); if (wParam == SCANCODE_CURSORBLOCKUP) cur --; else cur ++; SendMessage (hSpin, SPM_SETCUR, cur, 0); printf ("set pos: %d\n", cur); } InvalidateRect (hDlg, NULL, TRUE); } else if (wParam == SCANCODE_PAGEDOWN || wParam == SCANCODE_PAGEUP) { if (!(lParam & KS_SPINPOST)) { int cur; cur = SendMessage (hSpin, SPM_GETCUR, 0, 0); if (wParam == SCANCODE_PAGEUP) cur -= 4; else cur += 4; if (cur < 0) cur = 0; else if (cur > 10) cur = 10; SendMessage (hSpin, SPM_SETCUR, cur, 0); } InvalidateRect (hDlg, NULL, TRUE); } } break; case MSG_PAINT: { HDC hdc; int x, y, w, h; int cur; cur = SendMessage (hSpin, SPM_GETCUR, 0, (LPARAM)&spinfo); x = 10; y = cur*10 + 10; w = 60; h = 10; if (y < 10) y = 10; else if (y > 110) y = 110; hdc = BeginPaint (hDlg); MoveTo (hdc, 2, 10); LineTo (hdc, 100, 10); Rectangle (hdc, x, y, x+w, y+h); SetBrushColor (hdc, PIXEL_black); FillBox (hdc, x, y, w, h); MoveTo (hdc, 2, 120); LineTo (hdc, 100, 120); EndPaint (hDlg, hdc); } return 0; case MSG_CLOSE: { EndDialog (hDlg, 0); } break; } return DefaultDialogProc (hDlg, message, wParam, lParam); }
static int DialogProc(HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { switch(message) { case MSG_INITDIALOG: { tipLabelData_t* tipLabelData; tipLabelData = (tipLabelData_t*)lParam; if(!tipLabelData) { db_error("invalid tipLabelData\n"); return -1; } SetWindowAdditionalData(hDlg, (DWORD)tipLabelData); if(tipLabelData->pLogFont) { SetWindowFont(hDlg, tipLabelData->pLogFont); } if(tipLabelData->full_screen == 1){ SetWindowBkColor(hDlg,FULL_BLACK); }else{ SetWindowBkColor(hDlg, tipLabelData->bgc_widget); } if(tipLabelData->full_screen == 1){ SetWindowElementAttr(GetDlgItem(hDlg, IDC_TITLE), WE_FGC_WINDOW, PIXEL2DWORD(HDC_SCREEN, FULL_BLACK) ); SetWindowElementAttr(GetDlgItem(hDlg, IDC_TEXT), WE_FGC_WINDOW, PIXEL2DWORD(HDC_SCREEN, FULL_BLACK) ); }else{ SetWindowElementAttr(GetDlgItem(hDlg, IDC_TITLE), WE_FGC_WINDOW, PIXEL2DWORD(HDC_SCREEN, tipLabelData->fgc_widget) ); SetWindowElementAttr(GetDlgItem(hDlg, IDC_TEXT), WE_FGC_WINDOW, PIXEL2DWORD(HDC_SCREEN, tipLabelData->fgc_widget) ); } SetTimerEx(hDlg, TIMEOUT_TIMER, tipLabelData->timeoutMs / 10, timerCallback); } break; case MSG_PAINT: { RECT rect; HDC hdc; tipLabelData_t* tipLabelData; hdc = BeginPaint(hDlg); tipLabelData = (tipLabelData_t*)GetWindowAdditionalData(hDlg); GetClientRect(GetDlgItem(hDlg, IDC_TITLE), &rect); if(tipLabelData->full_screen == 1){ SetPenColor(hdc, FULL_BLACK); }else{ SetPenColor(hdc, tipLabelData->linec_title ); } Line2(hdc, 0, RECTH(rect) + 2, RECTW(rect), RECTH(rect) + 2); #if 0 char *filepath=(char *)"/etc/res/others/wifi.png"; LoadBitmapFromFile(HDC_SCREEN, &tipLabelData->bitImage, filepath); FillBoxWithBitmap(hdc,0,0,320,240,&tipLabelData->bitImage); #endif //ShowWindow(hDlg,SW_SHOWNORMAL); EndPaint(hDlg, hdc); } break; case MSG_FONTCHANGED: { PLOGFONT pLogFont; pLogFont = GetWindowFont(hDlg); if(pLogFont) { SetWindowFont(GetDlgItem(hDlg, IDC_TITLE), pLogFont); SetWindowFont(GetDlgItem(hDlg, IDC_TEXT), pLogFont); } } break; case MSG_KEYUP: { switch(wParam) { case CDR_KEY_RIGHT: EndDialog(hDlg, 0); break; case CDR_KEY_LEFT: case CDR_KEY_OK: case CDR_KEY_MODE: break; } } break; case MSG_KEYDOWN: { //EndDialog(hDlg, 0); } break; case MSG_CLOSE_TIP_LABEL: tipLabelData_t* tipLabelData; tipLabelData = (tipLabelData_t*)GetWindowAdditionalData(hDlg); db_info("MSG_CLOSE_LOWPOWER_DIALOG\n"); if(IsTimerInstalled(hDlg, ONE_SHOT_TIMER) == TRUE) { KillTimer(hDlg, ONE_SHOT_TIMER); } if(IsTimerInstalled(hDlg, TIMEOUT_TIMER) == TRUE) { KillTimer(hDlg, TIMEOUT_TIMER); } if (tipLabelData->bitImage.bmBits != NULL){ UnloadBitmap(&tipLabelData->bitImage); } EndDialog(hDlg, 0); break; } return DefaultDialogProc(hDlg, message, wParam, lParam); }
static int msgBoxProc(HWND hDlg, int message, WPARAM wParam, LPARAM lParam ) { MBPrivData* privData; switch(message) { case MSG_FONTCHANGED: { HWND hChild; hChild = GetNextChild(hDlg, 0); while( hChild && (hChild != HWND_INVALID) ) { SetWindowFont(hChild, GetWindowFont(hDlg)); hChild = GetNextChild(hDlg, hChild); } } break; case MSG_INITDIALOG: { unsigned int dwStyle; MessageBox_t* info = (MessageBox_t *)lParam; if(info == NULL) { db_error("invalid info\n"); return -1; } dwStyle = info->dwStyle & MB_TYPEMASK; privData = (MBPrivData*)malloc(sizeof(MBPrivData)); privData->dwStyle = dwStyle; if(privData->dwStyle & MB_OKCANCEL){ privData->IDCSelected = IDC_BUTTON_START + 1; privData->buttonNRs = 2; } else { privData->IDCSelected = IDC_BUTTON_START; privData->buttonNRs = 1; } db_msg("buttonNRs is %d\n", privData->buttonNRs); privData->flag_end_key = info->flag_end_key; privData->linecTitle = info->linecTitle; privData->linecItem = info->linecItem; privData->confirmCallback = info->confirmCallback; privData->confirmData = info->confirmData; privData->msg4ConfirmCallback = info->msg4ConfirmCallback; SetWindowAdditionalData(hDlg, (DWORD)privData); SetWindowFont(hDlg, info->pLogFont); /******* the hilight is the global attibute *******/ gp_hilite_bgc = GetWindowElementPixel(hDlg, WE_BGC_HIGHLIGHT_ITEM); gp_hilite_fgc = GetWindowElementPixel(hDlg, WE_FGC_HIGHLIGHT_ITEM); gp_normal_bgc = info->bgcWidget; gp_normal_fgc = info->fgcWidget; SetWindowBkColor(hDlg, gp_normal_bgc); SetWindowElementAttr(GetDlgItem(hDlg, IDC_TITLE), WE_FGC_WINDOW, Pixel2DWORD(HDC_SCREEN, gp_normal_fgc)); SetWindowElementAttr(GetDlgItem(hDlg, IDC_TEXT), WE_FGC_WINDOW, Pixel2DWORD(HDC_SCREEN, gp_normal_fgc)); SetWindowText(GetDlgItem(hDlg, IDC_TITLE), info->title); SetWindowText(GetDlgItem(hDlg, IDC_TEXT), info->text); for(unsigned int i = 0; i < privData->buttonNRs; i++) { SetWindowElementAttr( GetDlgItem(hDlg, IDC_BUTTON_START + i), WE_FGC_WINDOW, Pixel2DWORD(HDC_SCREEN, gp_normal_fgc)); SetWindowAdditionalData2( GetDlgItem(hDlg, IDC_BUTTON_START + i), (DWORD)info->buttonStr[i]); } } break; case MSG_KEYUP: { privData = (MBPrivData *)GetWindowAdditionalData(hDlg); switch(wParam) { case CDR_KEY_OK: if(privData->flag_end_key == 1) { db_msg("hDlg is %x\n", hDlg); if( (privData->IDCSelected == IDC_BUTTON_START) && privData->confirmCallback) { if(privData->msg4ConfirmCallback) { SetWindowText(GetDlgItem(hDlg, IDC_TEXT), privData->msg4ConfirmCallback); SetTimerEx(hDlg, TIMER_CONFIRM_CALLBACK, 5, timerCallback); SetNullFocus(hDlg); } else { db_msg("confirmCallback\n"); (*privData->confirmCallback)(hDlg , privData->confirmData); db_msg("confirmCallback\n"); } } else { EndDialog(hDlg, privData->IDCSelected); } } break; case CDR_KEY_MENU: case CDR_KEY_MODE: if(privData->flag_end_key == 1) EndDialog(hDlg, IDC_BUTTON_CANCEL); break; case CDR_KEY_LEFT: privData->IDCSelected--; if(privData->IDCSelected < IDC_BUTTON_START) { privData->IDCSelected = IDC_BUTTON_START + privData->buttonNRs - 1; } InvalidateRect(hDlg, NULL, TRUE); break; case CDR_KEY_RIGHT: privData->IDCSelected++; if(privData->IDCSelected > (IDC_BUTTON_START + privData->buttonNRs - 1) ) { privData->IDCSelected = IDC_BUTTON_START; } InvalidateRect(hDlg, NULL, TRUE); break; default: break; } } break; case MSG_KEYDOWN: { RECT rect; GetClientRect(hDlg, &rect); privData = (MBPrivData *)GetWindowAdditionalData(hDlg); switch(wParam) { case CDR_KEY_OK: if(privData->flag_end_key == 0) { db_msg("hDlg is %x\n", hDlg); if( (privData->IDCSelected == IDC_BUTTON_START) && privData->confirmCallback ) { if(privData->msg4ConfirmCallback) { SetWindowText(GetDlgItem(hDlg, IDC_TEXT), privData->msg4ConfirmCallback); SetTimerEx(hDlg, TIMER_CONFIRM_CALLBACK, 5, timerCallback); SetNullFocus(hDlg); } else { db_msg("confirmCallback\n"); (*privData->confirmCallback)(hDlg , privData->confirmData); db_msg("confirmCallback\n"); } } else { EndDialog(hDlg, privData->IDCSelected); } } break; case CDR_KEY_MENU: case CDR_KEY_MODE: if(privData->flag_end_key == 0) { EndDialog(hDlg, 0); } break; default: break; } } break; case MSG_PAINT: { RECT rect, rect1; HDC hdc = BeginPaint(hDlg); privData = (MBPrivData *)GetWindowAdditionalData(hDlg); GetClientRect(GetDlgItem(hDlg, IDC_TITLE), &rect); GetClientRect(hDlg, &rect1); /**** draw the line below the title *******/ SetPenColor(hdc, privData->linecTitle ); Line2(hdc, 1, RECTH(rect) + 1, RECTW(rect) - 2, RECTH(rect) + 1); /**** draw the line above the button *******/ SetPenColor(hdc, privData->linecItem ); Line2(hdc, 1, RECTH(rect1) * 3 / 4 - 2, RECTW(rect1) - 2, RECTH(rect1) * 3 / 4 - 2); unsigned int i; for(i = 0; i < privData->buttonNRs; i++) { if(IDC_BUTTON_START + i == privData->IDCSelected) { drawButton(hDlg, IDC_BUTTON_START + i, BUTTON_SELECTED); } else { drawButton(hDlg, IDC_BUTTON_START + i, BUTTON_UNSELECTED); } } EndPaint(hDlg, hdc); } break; case MSG_DESTROY: { db_msg("msg destroy"); privData = (MBPrivData *)GetWindowAdditionalData(hDlg); if(privData) free(privData); } break; case MSG_CLOSE_TIP_LABEL: EndDialog(hDlg, 0); break; default: break; } return DefaultDialogProc (hDlg, message, wParam, lParam); }
/* 对话框回调函数 */ static int DlgProc(HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { HDC hdc; int temp; char strMenu[100]; int i; RECT rcDlg; RECT rcCaption; switch(message){ case MSG_INITDIALOG:{ //创建控件 CreateCtlProc(hDlg); //设置控件字符 InitCtlName(hDlg); //初始化combobox InitCobList(hDlg); //设置控件回调函数 InitCtlCallBackProc(hDlg); //设置控件状态 InitCtlStatus(hDlg); //绘制下一页图标 DrawIconProc(hDlg); gbKeyType = KEY_TAB; SetFocus(btnOk); }break; case MSG_PAINT:{ }break; case MSG_COMMAND:{ int id = LOWORD(wParam); switch(id){ case DID_MENU_SCREEN:{ gbKeyType = KEY_UD; SetFocus(cobScreen); }break; case DID_MENU_MONITOR:{ CreateMonitorSetupMenu(hDlg); }break; case DID_MENU_ALARMREVIEW:{ ReturnMainView(); PostMessage (ghWndMain, MSG_KEYDOWN, SCANCODE_R, 0); }break; case DID_MENU_ARRREVIEW:{ ReturnMainView(); PostMessage (ghWndMain, MSG_KEYDOWN, SCANCODE_W, 0); }break; case DID_MENU_ALARMSETUP:{ CreateAlarmSetup(hDlg); // CreateCommonAlarm(hDlg); }break; case DID_MENU_PATIENTINFO:{ CreateDlgPatient(hDlg); }break; case DID_MENU_CALCULATOR:{ ReturnMainView(); PostMessage (ghWndMain, MSG_KEYDOWN, SCANCODE_D, 0); //BroadcastMessage(MSG_CLOSE,0,0); //PostMessage(hDlg, MSG_CLOSE, 0, 0L); }break; case DID_MENU_STANDBY:{ PostMessage (ghWndMain, MSG_KEYDOWN, SCANCODE_Y, 0); //Test(); // CreateAlarmSetup(ghWndMain); }break; case DID_MENU_OK:{ PostMessage(hDlg, MSG_CLOSE, 0, 0L); }break; } }break; case MSG_KEYUP:{ switch(wParam){ case SCANCODE_ESCAPE:{ PostMessage(hDlg, MSG_CLOSE, 0, 0L); }break; }//end switch }break; case MSG_CLOSE:{ gbKeyType = KEY_LR; EndDialog(hDlg, wParam); //退出所有菜单 // ReturnMainView(); }break; } temp = DefaultDialogProc(hDlg, message, wParam, lParam); return(temp); }
static int DlgProc(HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { int temp; char strMenu[100]; int i; RECT rcDlg; switch(message){ case MSG_INITDIALOG:{ //创建控件 CreateCtlProc(hDlg); //设置控件字符 InitCtlName(hDlg); //初始化combobox InitCobList(hDlg); //设置控件回调函数 InitCtlCallBackProc(hDlg); //绘制下一页图标 DrawIconProc(hDlg); SetLimt(); gbKeyType = KEY_TAB; SetFocus(btnOk); }break; case MSG_PAINT:{ }break; case MSG_COMMAND:{ int id = LOWORD(wParam); switch(id){ case DID_IBP2_SET_LABEL:{ gbKeyType = KEY_UD; SetFocus(cobLabel); }break; case DID_IBP2_SET_UNIT:{ gbKeyType = KEY_UD; SetFocus(cobUnit); }break; case DID_IBP2_SET_VIEW:{ gbKeyType = KEY_UD; SetFocus(cobView); }break; case DID_IBP2_SET_SPEED:{ gbKeyType = KEY_UD; SetFocus(cobSpeed); }break; case DID_IBP2_FILTER:{ gbKeyType = KEY_UD; SetFocus(cobFilter); }break; case DID_IBP2_SET_TOP:{ gbKeyType = KEY_UD; SetFocus(editTop); }break; case DID_IBP2_SET_BOTTOM:{ gbKeyType = KEY_UD; SetFocus(editBottom); }break; case DID_IBP2_ZERO:{ //置状态为校0状态 CreateDlgIbp2Setzero(hDlg); }break; case DID_IBP2_SET_ALARM:{ CreateDlgIbp2Set(hDlg); RestorWave(); }break; case DID_IBP2_OK:{ PostMessage(hDlg, MSG_CLOSE, 0, 0L); }break; } }break; case MSG_KEYUP:{ switch(wParam){ case SCANCODE_ESCAPE:{ PostMessage(hDlg, MSG_CLOSE, 0, 0L); }break; }//end switch }break; case MSG_CLOSE:{ gbKeyType = KEY_LR; //恢复波形位置 //ChangeWavePanelsLeft((PRECT)NULL); //向中央机发送信息 NetSend_Ibp2Info(); EndDialog(hDlg, wParam); }break; } temp = DefaultDialogProc(hDlg, message, wParam, lParam); return(temp); }
static int MissedWinProc(HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { int j; int len; switch (message) { case MSG_INITDIALOG: //讀取文件中電話記錄 records_read(FULLPATH, missedcall); //設置回調函數 SetNotificationCallback(GetDlgItem(hDlg, IDC_WJLDLBK), missedcall_notif_proc); //向列表框中添加條目 for (j = 0; j < records_count; j++) { SendMessage(GetDlgItem(hDlg, IDC_WJLDLBK), LB_INSERTSTRING, j, (LPARAM)missedcall[j].Phone_num); } return 0; case MSG_COMMAND: { switch (wParam) { // 撥打按鈕,將選中的電話紀錄中電話呼叫出去 case IDC_WJLDBD: strcpy(PhoneNumt, missedcall[missed_index].Phone_num); pthread_create(&th_missed, NULL, (void *)Holding, NULL); len = strlen(PhoneNumt); gprs_call(PhoneNumt, len); EndDialog(hDlg, 0); return 0; //存儲按鈕 ,將電話紀錄存儲到電話本中 case IDC_WJLDSAVE: return 0; //發短信按鈕 case IDC_WJLDFSDX: return 0; // 刪除按鈕 case IDC_WJLDDEL: //向列表框中發送消息,刪除列表框中missed_index 索引值的條目 SendMessage(GetDlgItem(hDlg, IDC_WJLDLBK), LB_DELETESTRING, missed_index, 0); //刪除文件中對應索引值的內容,將文件回寫到FULLPATH指定的文件 records_delete(FULLPATH, missedcall, missed_index, records_count); return 0; //返回按鈕 case IDC_WJLDBACK: EndDialog(hDlg, 0); return 0; } } break; case MSG_CLOSE: { EndDialog(hDlg, 0); } return 0; } return DefaultDialogProc(hDlg, message, wParam, lParam); }
/* 对话框回调函数 */ static int DlgProc(HWND hDlg, int message, WPARAM wParam, LPARAM lParam) { HDC hdc; int temp; char strMenu[100]; int i; RECT rcDlg; RECT rcCaption; switch(message){ case MSG_INITDIALOG:{ //创建控件 CreateCtlProc(hDlg); //设置控件字符 InitCtlName(hDlg); //初始化列表框 InitCobList(hDlg); InitEditCtl(); //设置控件回调函数 InitCtlCallBackProc(hDlg); //设置控件状态 InitCtlStatus(hDlg); gbKeyType = KEY_TAB; SetFocus(btnOk); }break; case MSG_PAINT:{ }break; case MSG_COMMAND:{ int id = LOWORD(wParam); switch(id){ case DID_COMMONALM_HR:{ gbKeyType = KEY_UD; SetFocus(highHR); }break; case DID_COMMONALM_SPO2:{ gbKeyType = KEY_UD; SetFocus(highSpo2); }break; case DID_COMMONALM_NIBPSYS:{ gbKeyType = KEY_UD; SetFocus(highNIBPSys); }break; case DID_COMMONALM_NIBPDIA:{ gbKeyType = KEY_UD; SetFocus(highNIBPDia); }break; case DID_COMMONALM_NIBPMEAN:{ gbKeyType = KEY_UD; SetFocus(highNIBPMean); }break; case DID_COMMONALM_RESP:{ gbKeyType = KEY_UD; SetFocus(highResp); }break; case DID_COMMONALM_T1:{ gbKeyType = KEY_UD; SetFocus(highT1); }break; case DID_COMMONALM_T2:{ gbKeyType = KEY_UD; SetFocus(highT2); }break; case DID_COMMONALM_DEFAULT:{ BOOL res = FALSE; char strACKInfo[200]; memset(strACKInfo, 0, sizeof strACKInfo); GetStringFromResFiles(gsLanguageRes, STR_SETTING_DLG_ALMSETUP, "ackinfo_update", strACKInfo, sizeof strACKInfo,"Default alarm limit?"); res = ACKDialog(hDlg, strACKInfo, ACK_ATTENTION); if(res){ ResetAlmLimit(); } }break; case DID_COMMONALM_OK:{ PostMessage(hDlg, MSG_CLOSE, 0, 0L); }break; } }break; case MSG_KEYUP:{ switch(wParam){ case SCANCODE_ESCAPE:{ PostMessage(hDlg, MSG_CLOSE, 0, 0L); }break; }//end switch }break; case MSG_CLOSE:{ gbKeyType = KEY_TAB; //恢复波形位置 ChangeWavePanelsLeft((PRECT)NULL); EndDialog(hDlg, wParam); }break; } temp = DefaultDialogProc(hDlg, message, wParam, lParam); return(temp); }
static int SaveFileProc(HWND hDlg,int message,WPARAM wParam,LPARAM lParam) { char pathname[30]={0}; char name[20]; int xTmp,yTmp; int code,id; pid_t p_ret; switch (message){ case MSG_INITDIALOG: create_coolbar_num(hDlg); create_coolbar_qwe(hDlg); create_coolbar_asd(hDlg); create_coolbar_zxc(hDlg); hWndTmp=GetDlgItem(hDlg,IDC_FILENAME); /* p_ret=vfork(); if(p_ret==-1) { perror("vfork()"); exit(0); } else if(p_ret==0) //表示子进程 { printf("this is child. pid of child is: %d\n",getpid()); if(execlp("mount","mount","/dev/sda[a-z][0-9]","/mnt/udisk",NULL)<0) perror("execlp mount"); printf("mount success!"); } else { printf("this is father.pid of child is: %d\n",p_ret); waitpid(p_ret,NULL,0); printf("mount child is over\n"); } */ return 1; case MSG_LBUTTONDOWN: xTmp=LOWORD(lParam); yTmp=HIWORD(lParam); if((xTmp>=50) && (xTmp<180)) { if((yTmp>=50)&& (yTmp<75)) hWndTmp=GetDlgItem(hDlg,IDC_FILENAME); } break; case MSG_COMMAND: id=LOWORD(wParam); code=HIWORD(wParam); switch(id) { case IDC_FILENAME: if(HIWORD(wParam) !=EN_ENTER) break; case IDC_CB_NUM: PostMessage(hWndTmp,MSG_CHAR,'0'+code,0); break; case IDC_CB_QWE: PostMessage (hWndTmp, MSG_CHAR, caption2[code][0], 0); break; case IDC_CB_ASD: PostMessage (hWndTmp, MSG_CHAR, caption3[code][0], 0); break; case IDC_CB_ZXC: if(code != 9) PostMessage (hWndTmp, MSG_CHAR, caption4[code][0], 0); else PostMessage(hWndTmp,MSG_SETTEXT,0,(LPARAM)pStr); break; case IDOK: GetWindowText(GetDlgItem(hDlg,IDC_FILENAME),name,30); strcpy(pathname,"/mnt/udisk/"); strcat(pathname,name); strcat(pathname,".txt"); /* if(strlen(name)==0) { MessageBox(hDlg,"文件名不能为空","输入有误",MB_OK|MB_ICONHAND); break; } */ // sprintf(name,%f.txt,); /********************************************************************************* rc1 = sqlite3_open("login.db",&db1); if(rc1){ fprintf(stderr,"Can't open database:%s\n",sqlite3_errmsg(db1)); } sql3 = sqlite3_mprintf("alter table login_table rename to %s",name); sqlite3_exec(db1,sql3,0,0,&errmsg1); sqlite3_free(sql3); sqlite3_close(db1); // rename("login.db","/mnt/udisk/login.db"); ********************************************************************************/ p_ret=vfork(); if(p_ret == -1) { perror("vfork()"); exit(0); } else if(p_ret == 0) { // if(execlp("cp","cp","/tmp/login.txt","/mnt/udisk/",NULL)<0) if(execlp("cp","cp","/tmp/login.txt",pathname,NULL)<0) perror("excelp mv login.db"); } else { waitpid(p_ret,NULL,0); MessageBox(hDlg,"保存成功","文件保存",MB_OK); } sync(); //一定要执行这一步,否则热插拔会出问题 /*执行umount命令卸载U盘*/ /* p_ret=vfork(); if(p_ret==-1) { perror("vfork()"); exit(0); } else if(p_ret==0) //表示子进程 { printf("this is child.pid of child is: %d\n",getpid()); if(execlp("umount","umount","/mnt/udisk",NULL)<0) perror("execlp mount"); printf("umount success!"); } else { printf("this is father.pid of child is: %d\n",p_ret); waitpid(p_ret,NULL,0); printf("umount child is over\n"); } */ EndDialog(hDlg,wParam); DestroyAllControls(hDlg); break; case IDCANCEL: EndDialog(hDlg,wParam); DestroyAllControls(hDlg); break; default: break; } break; default: break; } return DefaultDialogProc(hDlg,message,wParam,lParam); }