void Elapsed_Edit_OnEnforceRange (ElapsedInfo *pei, HWND hEdit) { DWORD dwMin; DWORD dwNow; DWORD dwMax; Elapsed_Edit_GetSpinnerRange (pei, hEdit, &dwMin, &dwNow, &dwMax); if (!inlimit( dwMin, dwNow, dwMax )) { dwNow = limit( dwMin, dwNow, dwMax ); if (hEdit == pei->hHours) { pei->timeNow.wDay = (WORD)dwNow / 24; pei->timeNow.wHour = (WORD)dwNow % 24; } else if (hEdit == pei->hMinutes) { pei->timeNow.wMinute = (WORD)dwNow; } else if (hEdit == pei->hSeconds) { pei->timeNow.wSecond = (WORD)dwNow; } if (pei->hSpinnerBuddy == hEdit) SP_SetRange (hEdit, dwMin, dwMax); Elapsed_Edit_SetText (pei, hEdit); } else if (pei->hSpinnerBuddy == hEdit) { SP_SetRange (hEdit, dwMin, dwMax); } }
void Time_Edit_OnSetFocus (TimeInfo *pti, HWND hEdit) { DWORD dwMin; DWORD dwNow; DWORD dwMax; pti->fCanCallBack --; if (hEdit == pti->hHours) { dwMin = (pti->f24Hour) ? 0 : 1; dwNow = (pti->f24Hour) ? pti->timeNow.wHour : (pti->timeNow.wHour % 12); dwMax = (pti->f24Hour) ? 24 : 12; if (!pti->f24Hour && !dwNow) dwNow = 12; } else if (hEdit == pti->hMinutes) { dwMin = 0; dwNow = pti->timeNow.wMinute; dwMax = 59; } else // (hEdit == pti->hAMPM) { dwMin = 0; dwNow = (pti->timeNow.wHour >= 12) ? 1 : 0; dwMax = 1; } if (pti->hSpinnerBuddy != hEdit) { SP_SetBuddy (pti->hSpinnerBuddy, hEdit, FALSE); pti->hSpinnerBuddy = hEdit; } SP_SetRange (hEdit, dwMin, dwMax); SP_SetPos (hEdit, dwNow); if ((hEdit == pti->hHours) && (!pti->f0Hours)) SP_SetFormat (hEdit, TEXT("%lu")); else if ((hEdit == pti->hHours) || (hEdit == pti->hMinutes)) SP_SetFormat (hEdit, TEXT("%02lu")); if ((hEdit == pti->hHours) || (hEdit == pti->hMinutes)) SendMessage (hEdit, EM_SETSEL, (WPARAM)0, (LPARAM)-1); // select all pti->fCanCallBack ++; }
void Filesets_Create_OnEndTask_FindQuotaLimits (HWND hDlg, LPTASKPACKET ptp, LPSET_CREATE_PARAMS pscp) { size_t cMin = TASKDATA(ptp)->ckMin; size_t cNow = pscp->ckQuota; size_t cMax = TASKDATA(ptp)->ckMax; if (gr.cbQuotaUnits == cb1MB) { cMin /= ck1MB; cNow /= ck1MB; cMax /= ck1MB; } HWND hQuota = GetDlgItem (hDlg, IDC_SET_QUOTA); if (!fHasSpinner (hQuota)) { CreateSpinner (hQuota, 10, FALSE, (DWORD)cMin, (DWORD)cNow, (DWORD)cMax); } else { SP_SetRange (hQuota, cMin, cMax); SP_SetPos (hQuota, cNow); } }