Здравствуйте, NNN7, Вы писали:
NNN> if(LOWORD(wpar)==SELECT)
NNN> {
NNN> GetDlgItemText(hwnd,COMBO,(LPSTR)str,51);
NNN> if(lstrcmp((LPCSTR)str,"% Privileged Time") == 0)
NNN> { sprintf_s(buf, TEXT("%lf"), DisplayValue.doubleValue);
NNN> SendMessage(LB, LB_ADDSTRING, 1, ( LPARAM)buf);
NNN> }
NNN> if(lstrcmp((LPCSTR)str,"% User time") == 0)
NNN> {
NNN> sprintf_s(buf2, TEXT("%lf"), DisplayValue2.doubleValue);
NNN> SendMessage(LB, LB_ADDSTRING, 1, ( LPARAM)buf2);
NNN> }
NNN> }
NNN> break;
NNN> case WM_TIMER:
NNN> func(hwnd);
NNN> break;
NNN>Уже немного похоже на правду , хоть новые значения появляются , но смущает , что при выборе счётчика сначала заносятся 2 одинаковых значения ( а должно одно) , потом они меняются на другое и так далее (переключаются каждую секунду) и если выбрать какой-то другой счётчик , то результат 1-го счётчика стирается. А нужно- чтобы он сохранялся на своём месте и дальше продолжал меняться.
NNN>Что не так написал ?
Код выше на if(LOWORD(wpar)==SELECT) заносит что-то, а код в func тоже заносит. В итоге 2 раза.
Одно из двух :
Либо изменение должно делаться по нажатию Select. Тогда таймеровский код должен лишь изменять DisplayValue1-2, но не заносить. Изменеие произойдет только при нажатии Select
Либо таймеровский код как есть, но тогда Select не нужна. Изменения будут производиться автоматически
Либо что-то третье, но тогда продумай, что именно.
P.S. Код на WM_INITDIALOG фактически тот же, что и в func. Имеет смысл убрать дублирование. Просто вызови на WM_INITDIALOG эту func.