static void create_container (HWND hWnd, PSWDATA pswdata) { PCONTAINERINFO cont_info = (PCONTAINERINFO) GetWindowAdditionalData(hWnd); pswdata->hContainer = CreateWindowEx (CTRL_CONTAINER, "", WS_VISIBLE, WS_EX_NONE, IDC_STATIC, pswdata->scrdata.nContX, pswdata->scrdata.nContY, pswdata->scrdata.nContWidth, pswdata->scrdata.nContHeight, hWnd, 0); pswdata->pContdata = (PCONTDATA) GetWindowAdditionalData2 (pswdata->hContainer); if (cont_info && cont_info->user_proc) SetWindowCallbackProc (pswdata->hContainer, cont_info->user_proc); if (cont_info && (cont_info->controlnr > 0)) scrollwnd_add_controls (hWnd, pswdata, cont_info->controlnr, cont_info->controls); SendMessage (pswdata->hContainer, MSG_INITCONTAINER, 0, cont_info ? cont_info->dwAddData : 0); }
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); }
/* create a new page */ static BOOL create_page (HWND hwnd, DWORD style, PPROPSHEETDATA propsheet, PROPPAGE *page, PDLGTEMPLATE dlgtpl, WNDPROC proc) { int i, len; PCTRLDATA ctrl; HWND hCtrl; RECT rcPage; if ((dlgtpl->controlnr > 0) && !dlgtpl->controls) return FALSE; GetClientRect (hwnd, &rcPage); /* create content page */ if ((style & 0xf0L) == PSS_BOTTOM) { page->hwnd = CreateWindowEx (CTRL_STATIC, "", SS_LEFT, WS_EX_NONE, IDC_STATIC, 2, 2, rcPage.right - 4, rcPage.bottom - 4, hwnd, dlgtpl->dwAddData); } else { page->hwnd = CreateWindowEx (CTRL_STATIC, "", SS_LEFT, WS_EX_NONE, IDC_STATIC, 2, propsheet->head_rc.bottom + 2, rcPage.right - 4, rcPage.bottom - 4 - propsheet->head_rc.bottom, hwnd, dlgtpl->dwAddData); } if (page->hwnd == HWND_INVALID) return FALSE; len = strlen (dlgtpl->caption); page->title = FixStrAlloc (len); if (page->title) strcpy (page->title, dlgtpl->caption); page->proc = proc; page->icon = dlgtpl->hIcon; for (i = 0; i < dlgtpl->controlnr; i++) { ctrl = dlgtpl->controls + i; hCtrl = CreateWindowEx (ctrl->class_name, ctrl->caption, ctrl->dwStyle | WS_CHILD, ctrl->dwExStyle, ctrl->id, ctrl->x, ctrl->y, ctrl->w, ctrl->h, page->hwnd, ctrl->dwAddData); if (hCtrl == HWND_INVALID) { DestroyWindow (page->hwnd); if (page->title) { FreeFixStr (page->title); } return FALSE; } } SetWindowCallbackProc (page->hwnd, page->proc); SendMessage (page->hwnd, MSG_INITPAGE, 0, dlgtpl->dwAddData); return TRUE; }
static int InitCtlCallBackProc(HWND hDlg) { OldBtnProc = SetWindowCallbackProc(btnSetLabel, BtnProc); OldBtnProc = SetWindowCallbackProc(btnSetView, BtnProc); OldBtnProc = SetWindowCallbackProc(btnSetUnit, BtnProc); OldBtnProc = SetWindowCallbackProc(btnSetTop, BtnProc); OldBtnProc = SetWindowCallbackProc(btnSetSpeed, BtnProc); OldBtnProc = SetWindowCallbackProc(btnSetBottom, BtnProc); OldBtnProc = SetWindowCallbackProc(btnSetFilter, BtnProc); OldBtnProc = SetWindowCallbackProc(btnZero, BtnProc); OldBtnProc = SetWindowCallbackProc(btnOk, BtnProc); OldBtnProc = SetWindowCallbackProc(btnSetAlarm, BtnProc); OldCobProc = SetWindowCallbackProc(cobLabel, CobProc); OldCobProc = SetWindowCallbackProc(cobView, CobProc); OldCobProc = SetWindowCallbackProc(cobUnit, CobProc); OldCobProc = SetWindowCallbackProc(cobSpeed, CobProc); OldCobProc = SetWindowCallbackProc(cobFilter, CobProc); OldEditProc = SetWindowCallbackProc(editTop, EditProc); OldEditProc = SetWindowCallbackProc(editBottom, EditProc); OldEditProcHelp = SetWindowCallbackProc(editHelp, EditProcHelp); }
//设置控件回调函数 static int InitCtlCallBackProc(HWND hDlg) { OldBtnProc = SetWindowCallbackProc(btnSetAlmClass, BtnProc); OldBtnProc = SetWindowCallbackProc(btnSetAlmPrint, BtnProc); OldBtnProc = SetWindowCallbackProc(btnSetHigh_EtCO2, BtnProc); OldBtnProc = SetWindowCallbackProc(btnSetLow_EtCO2, BtnProc); OldBtnProc = SetWindowCallbackProc(btnSetHigh_FiCO2, BtnProc); OldBtnProc = SetWindowCallbackProc(btnOk, BtnProc); OldCobProc = SetWindowCallbackProc(cobAlmClass, CobProc); OldCobProc = SetWindowCallbackProc(cobAlmPrint, CobProc); OldEditProc = SetWindowCallbackProc(editHigh_EtCO2, EditProc); OldEditProc = SetWindowCallbackProc(editLow_EtCO2, EditProc); OldEditProc = SetWindowCallbackProc(editHigh_FiCO2, EditProc); OldEditProcHelp = SetWindowCallbackProc(editHelp, EditProcHelp); return 0; }
/* create a new page */ static BOOL create_page (HWND hwnd, DWORD style, PPROPSHEETDATA propsheet, PROPPAGE *page, PDLGTEMPLATE dlgtpl, WNDPROC proc) { int i, len, w, h; PCTRLDATA ctrl; HWND hCtrl; RECT rcPage; DWORD ex_style; if ((dlgtpl->controlnr > 0) && !dlgtpl->controls) return FALSE; if (GetWindowExStyle (hwnd) & WS_EX_TRANSPARENT) ex_style = WS_EX_TRANSPARENT | WS_EX_USEPARENTRDR; else ex_style = WS_EX_USEPARENTRDR; GetClientRect (hwnd, &rcPage); w = RECTW(rcPage) - OFFSET_VALUE*2; h = RECTH(rcPage) -RECTH(propsheet->head_rc) - OFFSET_VALUE*2; /* create content page */ if ((style & 0xf0L) == PSS_BOTTOM) { page->hwnd = CreateWindowEx (CTRL_STATIC, "", SS_LEFT, ex_style, IDC_STATIC, OFFSET_VALUE, OFFSET_VALUE, w, h, hwnd, dlgtpl->dwAddData); } else { page->hwnd = CreateWindowEx (CTRL_STATIC, "", SS_LEFT, ex_style, IDC_STATIC, OFFSET_VALUE, OFFSET_VALUE + propsheet->head_rc.bottom, w, h, hwnd, dlgtpl->dwAddData); } if (page->hwnd == HWND_INVALID) return FALSE; len = strlen (dlgtpl->caption); page->title = FixStrAlloc (len); if (page->title) strcpy (page->title, dlgtpl->caption); page->proc = proc; page->icon = dlgtpl->hIcon; for (i = 0; i < dlgtpl->controlnr; i++) { ctrl = dlgtpl->controls + i; hCtrl = CreateWindowEx (ctrl->class_name, ctrl->caption, ctrl->dwStyle | WS_CHILD, ctrl->dwExStyle, ctrl->id, ctrl->x, ctrl->y, ctrl->w, ctrl->h, page->hwnd, ctrl->dwAddData); if (hCtrl == HWND_INVALID) { DestroyWindow (page->hwnd); if (page->title) { FreeFixStr (page->title); } return FALSE; } } SetWindowCallbackProc (page->hwnd, page->proc); SendMessage (page->hwnd, MSG_INITPAGE, 0, dlgtpl->dwAddData); return TRUE; }
//设置控件回调函数 static int InitCtlCallBackProc(HWND hDlg) { OldBtnProc = SetWindowCallbackProc(btnScreen, BtnProc); OldBtnProc = SetWindowCallbackProc(btnMonitor, BtnProc); OldBtnProc = SetWindowCallbackProc(btnAlarmReview, BtnProc); OldBtnProc = SetWindowCallbackProc(btnARRReview, BtnProc); OldBtnProc = SetWindowCallbackProc(btnAlarmSetup, BtnProc); OldBtnProc = SetWindowCallbackProc(btnPatientInfo, BtnProc); OldBtnProc = SetWindowCallbackProc(btnCalculator, BtnProc); OldBtnProc = SetWindowCallbackProc(btnStandby, BtnProc); OldBtnProc = SetWindowCallbackProc(btnOk, BtnProc); OldEditProcHelp = SetWindowCallbackProc(editHelp, EditProcHelp); OldCobProc = SetWindowCallbackProc(cobScreen, CobProc); return 0; }
//设置控件回调函数 static int InitCtlCallBackProc(HWND hDlg) { OldBtnProc = SetWindowCallbackProc(btnWave1, BtnProc); OldBtnProc = SetWindowCallbackProc(btnWave2, BtnProc); OldBtnProc = SetWindowCallbackProc(btnWave3, BtnProc); OldBtnProc = SetWindowCallbackProc(btnDuration, BtnProc); OldBtnProc = SetWindowCallbackProc(btnSpeed, BtnProc); OldBtnProc = SetWindowCallbackProc(btnOk, BtnProc); // OldBtnProc = SetWindowCallbackProc(btnAuto, BtnProc); OldCobProc = SetWindowCallbackProc(cobWave1, CobProc); OldCobProc = SetWindowCallbackProc(cobWave2, CobProc); OldCobProc = SetWindowCallbackProc(cobWave3, CobProc); OldEditProc = SetWindowCallbackProc(editDuration, EditProc); OldCobProc = SetWindowCallbackProc(cobSpeed, CobProc); // OldEditProc = SetWindowCallbackProc(editAuto, EditProc); OldEditProcHelp = SetWindowCallbackProc(editHelp, EditProcHelp); return 0; }
static int InitCtlCallBackProc(HWND hDlg) { OldBtnProc = SetWindowCallbackProc(btnOk, BtnProc); OldBtnProc = SetWindowCallbackProc(btnHR, BtnProc); OldBtnProc = SetWindowCallbackProc(btnSpo2, BtnProc); OldBtnProc = SetWindowCallbackProc(btnNIBPSys, BtnProc); OldBtnProc = SetWindowCallbackProc(btnNIBPDia, BtnProc); OldBtnProc = SetWindowCallbackProc(btnNIBPMean, BtnProc); OldBtnProc = SetWindowCallbackProc(btnResp, BtnProc); OldBtnProc = SetWindowCallbackProc(btnT1, BtnProc); OldBtnProc = SetWindowCallbackProc(btnT2, BtnProc); OldBtnProc = SetWindowCallbackProc(btnDefault, BtnProc); OldCobProc = SetWindowCallbackProc(cobHR, CobProc); OldCobProc = SetWindowCallbackProc(cobSpo2, CobProc); OldCobProc = SetWindowCallbackProc(cobNIBPSys, CobProc); OldCobProc = SetWindowCallbackProc(cobNIBPDia, CobProc); OldCobProc = SetWindowCallbackProc(cobNIBPMean, CobProc); OldCobProc = SetWindowCallbackProc(cobResp, CobProc); OldCobProc = SetWindowCallbackProc(cobT1, CobProc); OldCobProc = SetWindowCallbackProc(cobT2, CobProc); OldEditProc = SetWindowCallbackProc(highHR, EditProc); OldEditProc = SetWindowCallbackProc(highSpo2, EditProc); OldEditProc = SetWindowCallbackProc(highNIBPSys, EditProc); OldEditProc = SetWindowCallbackProc(highNIBPDia, EditProc); OldEditProc = SetWindowCallbackProc(highNIBPMean, EditProc); OldEditProc = SetWindowCallbackProc(highResp, EditProc); OldEditProc = SetWindowCallbackProc(highT1, EditProc); OldEditProc = SetWindowCallbackProc(highT2, EditProc); OldEditProc = SetWindowCallbackProc(lowHR, EditProc); OldEditProc = SetWindowCallbackProc(lowSpo2, EditProc); OldEditProc = SetWindowCallbackProc(lowNIBPSys, EditProc); OldEditProc = SetWindowCallbackProc(lowNIBPDia, EditProc); OldEditProc = SetWindowCallbackProc(lowNIBPMean, EditProc); OldEditProc = SetWindowCallbackProc(lowResp, EditProc); OldEditProc = SetWindowCallbackProc(lowT1, EditProc); OldEditProc = SetWindowCallbackProc(lowT2, EditProc); OldEditProcHelp = SetWindowCallbackProc(editHelp, EditProcHelp); return 0; }