Я пишу простое приложение с графическим интерфейсом в Visual C++/Windows API. У меня есть элемент управления Trackbar в диалоговом окне, определенном в ресурсах как:
CONTROL "",IDC_SLIDER1045,"msctls_trackbar32",0x50010000,23,52,141,16,0x00000000
Я хочу показать значение трекбара для статического текстового элемента управления, поэтому я написал:
case WM_NOTIFY:
if(lParam == TRBN_THUMBPOSCHANGING)
{
Pos1 = SendMessage(GetDlgItem(hwndDlg, 1045), TBM_GETPOS, 0, 0);
wsprintf(szPos1, "Change IP address every %d minutes", Pos1);
SetDlgItemText(hwndDlg, 1044, szPos1);
}
break;
Я также пробовал:
case WM_NOTIFY:
Pos1 = SendMessage(GetDlgItem(hwndDlg, 1045), TBM_GETPOS, 0, 0);
wsprintf(szPos1, "Change IP address every %d minutes", Pos1);
SetDlgItemText(hwndDlg, 1044, szPos1);
break;
Оба кода не работают. Первый не дает никаких действий, второй вешает приложение.
Мой вопрос: как получить значение трекбара и показать его на статическом текстовом элементе управления в режиме реального времени?