void Server_FillAddrList (HWND hDlg, LPSERVERSTATUS lpss, BOOL fCanAddUnspecified) { HWND hList = GetDlgItem (hDlg, IDC_SVR_ADDRESSES); LB_StartChange (hList, TRUE); if (!lpss || !lpss->nAddresses) { if (fCanAddUnspecified) (void)LB_AddItem (hList, IDS_SVR_NO_ADDR, (LPARAM)-1); } else for (size_t iAddr = 0; iAddr < lpss->nAddresses; ++iAddr) { int AddrInt; AfsClass_AddressToInt (&AddrInt, &lpss->aAddresses[ iAddr ]); if (AddrInt == 0) continue; LPTSTR pszAddress = FormatString (TEXT("%1"), TEXT("%a"), &lpss->aAddresses[ iAddr ]); (void)LB_AddItem (hList, pszAddress, (LPARAM)iAddr); FreeString (pszAddress); } LB_EndChange (hList, 0); }
void Columns_OnSelect (HWND hDlg) { HWND hList; LPVIEWINFO lpvi = (LPVIEWINFO)CB_GetSelectedData (GetDlgItem(hDlg,IDC_COLUMNS)); // Fill in the Available list... // hList = GetDlgItem (hDlg, IDC_COL_AVAIL); LB_StartChange (hList); size_t iAvail; size_t iShown; for (iAvail = 0; iAvail < lpvi->nColsAvail; ++iAvail) { for (iShown = 0; iShown < lpvi->nColsShown; ++iShown) { if (lpvi->aColumns[ iShown ] == iAvail) break; } if (iShown == lpvi->nColsShown) { LB_AddItem (hList, lpvi->idsColumns[ iAvail ], (LPARAM)iAvail); } } LB_EndChange (hList); Columns_OnSelAvail (hDlg); // Fill in the Shown list... // hList = GetDlgItem (hDlg, IDC_COL_SHOWN); LB_StartChange (hList); for (iShown = 0; iShown < lpvi->nColsShown; ++iShown) { iAvail = lpvi->aColumns[ iShown ]; LB_AddItem (hList, lpvi->idsColumns[ iAvail ], (LPARAM)iAvail); } LB_EndChange (hList); Columns_OnSelShown (hDlg); }
void ChangeAddr_OnInitDialog (HWND hDlg, LPSVR_CHANGEADDR_PARAMS lpp) { TCHAR szName[ cchNAME ]; lpp->lpiServer->GetServerName (szName); TCHAR szText[ cchRESOURCE ]; GetDlgItemText (hDlg, IDC_TITLE, szText, cchRESOURCE); LPTSTR pszTitle = FormatString (szText, TEXT("%s"), szName); SetDlgItemText (hDlg, IDC_TITLE, pszTitle); FreeString (pszTitle); HWND hList = GetDlgItem (hDlg, IDC_SVR_ADDRESSES); LB_StartChange (hList, TRUE); LB_AddItem (hList, IDS_QUERYING, 0); LB_EndChange (hList, 0); ChangeAddr_Enable (hDlg, FALSE); }
void Server_General_OnEndTask_InitDialog (HWND hDlg, LPIDENT lpiServer, LPTASKPACKET ptp) { TCHAR szText[ cchRESOURCE ]; if (!ptp->rc) { GetString (szText, IDS_UNKNOWN); SetDlgItemText (hDlg, IDC_SVR_NUMAGGREGATES, szText); SetDlgItemText (hDlg, IDC_SVR_CAPACITY, szText); SetDlgItemText (hDlg, IDC_SVR_ALLOCATION, szText); LB_StartChange (GetDlgItem (hDlg, IDC_SVR_ADDRESSES), TRUE); LB_AddItem (GetDlgItem (hDlg, IDC_SVR_ADDRESSES), szText, (LPARAM)-1); LB_EndChange (GetDlgItem (hDlg, IDC_SVR_ADDRESSES), (LPARAM)-1); lpiServer->GetServerName (szText); ErrorDialog (ptp->status, IDS_ERROR_REFRESH_SERVER_STATUS, TEXT("%s"), szText); } else { EnableWindow (GetDlgItem (hDlg, IDC_SVR_AUTH_YES), TRUE); EnableWindow (GetDlgItem (hDlg, IDC_SVR_AUTH_NO), TRUE); EnableWindow (GetDlgItem (hDlg, IDC_SVR_CHANGEADDR), TRUE); wsprintf (szText, TEXT("%lu"), TASKDATA(ptp)->nAggr); SetDlgItemText (hDlg, IDC_SVR_NUMAGGREGATES, szText); LPTSTR pszText = FormatString (IDS_SVR_CAPACITY, TEXT("%.1B"), (double)TASKDATA(ptp)->ckCapacity * 1024.0); SetDlgItemText (hDlg, IDC_SVR_CAPACITY, pszText); FreeString (pszText); DWORD dwPercentUsed = 100; if (TASKDATA(ptp)->ckCapacity) dwPercentUsed = (DWORD)( (double)100 * TASKDATA(ptp)->ckAllocation / TASKDATA(ptp)->ckCapacity ); pszText = FormatString (IDS_SVR_ALLOCATION, TEXT("%.1B%lu"), (double)TASKDATA(ptp)->ckAllocation * 1024.0, dwPercentUsed); SetDlgItemText (hDlg, IDC_SVR_ALLOCATION, pszText); FreeString (pszText); Server_FillAddrList (hDlg, &TASKDATA(ptp)->ss); } }
void Time_OnCreate (TimeInfo *pti) { Subclass_AddHook (GetParent(pti->hTime), TimeDlgProc); TCHAR szTimeSep[ cchRESOURCE ]; if (!GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_STIME, szTimeSep, cchRESOURCE)) lstrcpy (szTimeSep, TEXT(":")); TCHAR sz24Hour[ cchRESOURCE ]; if (!GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_ITIME, sz24Hour, cchRESOURCE)) pti->f24Hour = FALSE; else pti->f24Hour = (sz24Hour[0] == TEXT('1')) ? TRUE : FALSE; TCHAR sz0Hour[ cchRESOURCE ]; if (!GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_ITLZERO, sz0Hour, cchRESOURCE)) pti->f0Hours = FALSE; else pti->f0Hours = (sz0Hour[0] == TEXT('1')) ? TRUE : FALSE; RECT rTime; GetClientRect (pti->hTime, &rTime); POINT ptTime = {0,0}; ClientToScreen (pti->hTime, &ptTime); ScreenToClient (GetParent (pti->hTime), &ptTime); SIZE s88; // size of widest likely double-digit number SIZE sTimeSep; // size of ":" SIZE sAMPM; // size of "AM/PM" listbox TCHAR szAM[ cchRESOURCE ]; TCHAR szPM[ cchRESOURCE ]; HDC hdc = GetDC (GetParent (pti->hTime)); GetTextExtentPoint (hdc, TEXT("88"), lstrlen(TEXT("88")), &s88); GetTextExtentPoint (hdc, szTimeSep, lstrlen(szTimeSep), &sTimeSep); if (!pti->f24Hour) Time_GetAMPMSize (hdc, &sAMPM, szAM, szPM); ReleaseDC (GetParent (pti->hTime), hdc); LONG cxNumbers = cxRECT(rTime) - GetSystemMetrics (SM_CXVSCROLL) - (sTimeSep.cx); if (!pti->f24Hour) cxNumbers -= sTimeSep.cx + sAMPM.cx; LONG cxMinutes = max( cxNumbers/2, s88.cx ); LONG cxHours = cxNumbers - cxMinutes; cxMinutes = min (cxMinutes, (LONG)( 1.2 * s88.cx )); cxHours = min (cxHours, (LONG)( 1.2 * s88.cx )); // don't be TOO wide. LONG cy = cyRECT(rTime); LONG yy = ptTime.y; pti->idHours = 100+NextControlID (GetParent (pti->hTime)); pti->hHours = CreateWindow ( TEXT("EDIT"), TEXT(""), WS_CHILD | WS_TABSTOP | ES_MULTILINE | ES_RIGHT | ES_NUMBER, ptTime.x, yy, cxHours, cy, GetParent(pti->hTime), (HMENU)pti->idHours, THIS_HINST, 0); pti->hSep1 = CreateWindow ( TEXT("STATIC"), szTimeSep, WS_CHILD | SS_CENTER, ptTime.x + cxHours, yy, sTimeSep.cx, cy, GetParent(pti->hTime), (HMENU)-1, THIS_HINST, 0); pti->idMinutes = 100+NextControlID (GetParent (pti->hTime)); pti->hMinutes = CreateWindow ( TEXT("EDIT"), TEXT(""), WS_CHILD | WS_TABSTOP | ES_MULTILINE | ES_RIGHT | ES_NUMBER, ptTime.x + cxHours + sTimeSep.cx, yy, cxMinutes, cy, GetParent(pti->hTime), (HMENU)pti->idMinutes, THIS_HINST, 0); if (!pti->f24Hour) { pti->hSep2 = CreateWindow ( TEXT("STATIC"), TEXT(""), WS_CHILD | SS_CENTER, ptTime.x + cxHours + cxMinutes + sTimeSep.cx, yy, sTimeSep.cx, cy, GetParent(pti->hTime), (HMENU)-1, THIS_HINST, 0); pti->idAMPM = 100+NextControlID (GetParent (pti->hTime)); pti->hAMPM = CreateWindow ( TEXT("LISTBOX"), TEXT(""), WS_CHILD | WS_TABSTOP | LBS_NOINTEGRALHEIGHT | LBS_HASSTRINGS | LBS_OWNERDRAWFIXED | LBS_NOTIFY, ptTime.x + cxHours + cxMinutes + 2 * sTimeSep.cx, yy, sAMPM.cx, cy, GetParent(pti->hTime), (HMENU)pti->idAMPM, THIS_HINST, 0); } Subclass_AddHook (pti->hHours, TimeEditProc); Subclass_AddHook (pti->hMinutes, TimeEditProc); if (!pti->f24Hour) Subclass_AddHook (pti->hAMPM, TimeEditProc); HFONT hf = (HFONT)SendMessage (GetParent (pti->hTime), WM_GETFONT, 0, 0); SendMessage (pti->hHours, WM_SETFONT, (WPARAM)hf, MAKELPARAM(TRUE,0)); SendMessage (pti->hSep1, WM_SETFONT, (WPARAM)hf, MAKELPARAM(TRUE,0)); SendMessage (pti->hMinutes, WM_SETFONT, (WPARAM)hf, MAKELPARAM(TRUE,0)); if (!pti->f24Hour) { SendMessage (pti->hSep2, WM_SETFONT, (WPARAM)hf, MAKELPARAM(TRUE,0)); SendMessage (pti->hAMPM, WM_SETFONT, (WPARAM)hf, MAKELPARAM(TRUE,0)); } EnableWindow (pti->hHours, IsWindowEnabled (pti->hTime)); EnableWindow (pti->hSep1, IsWindowEnabled (pti->hTime)); EnableWindow (pti->hMinutes, IsWindowEnabled (pti->hTime)); if (!pti->f24Hour) { EnableWindow (pti->hSep2, IsWindowEnabled (pti->hTime)); EnableWindow (pti->hAMPM, IsWindowEnabled (pti->hTime)); LB_StartChange (pti->hAMPM, TRUE); LB_AddItem (pti->hAMPM, szAM, 0); LB_AddItem (pti->hAMPM, szPM, 1); LB_EndChange (pti->hAMPM); LB_SetSelected (pti->hAMPM, 1); } ShowWindow (pti->hHours, TRUE); ShowWindow (pti->hSep1, TRUE); ShowWindow (pti->hMinutes, TRUE); if (!pti->f24Hour) { ShowWindow (pti->hSep2, TRUE); ShowWindow (pti->hAMPM, TRUE); } RECT rWindow; GetWindowRect (pti->hTime, &rWindow); rWindow.right += (cxHours + cxMinutes + sTimeSep.cx) - cxRECT(rTime); if (!pti->f24Hour) rWindow.right += sTimeSep.cx + sAMPM.cx; SetWindowPos (pti->hTime, NULL, 0, 0, cxRECT(rWindow), cyRECT(rWindow), SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOZORDER); RECT rSpinner; GetRectInParent (pti->hTime, &rSpinner); rSpinner.left = rSpinner.right; rSpinner.right = rSpinner.left + GetSystemMetrics (SM_CXVSCROLL); rSpinner.bottom -= 2; // just like Win95 does CreateSpinner (pti->hHours, 10, FALSE, 0, pti->timeNow.wHour, 24, &rSpinner); pti->hSpinner = SP_GetSpinner (pti->hHours); pti->hSpinnerBuddy = pti->hHours; Time_Edit_SetText (pti, pti->hHours); Time_Edit_SetText (pti, pti->hMinutes); Time_Edit_OnSetFocus (pti, pti->hHours); pti->fCanCallBack = TRUE; }