![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Здравствуйте.
Не могу понять как организовать вывод положение 2-х трэкбаров в 2-х Static'ах. Делал по справке. Если делаю так(сразу после запуска, static'и пусты): Код:
function GetPosTrackBar(TB : HWND): Integer;
begin
Result := SendMessage(TB, TBM_GETPOS, 0, 0);
end;
.....
WM_HSCROLL:
begin
case LOWORD(wParam) of
TB_THUMBTRACK, TB_THUMBPOSITION, TB_LINEDOWN, TB_LINEUP:
begin
SetWindowText(Stat1, PChar(IntToStr(GetPosTrackBar(TB1))));
SetWindowText(Stat2, PChar(IntToStr(GetPosTrackBar(TB2))));
end;
end;А так не работает: Код:
WM_HSCROLL:
begin
case LOWORD(wParam) of
TB_THUMBTRACK, TB_THUMBPOSITION, TB_LINEDOWN, TB_LINEUP:
begin
case LParam of
Tb1ID: SetWindowText(Stat1, PChar(IntToStr(GetPosTrackBar(TB1))));
Tb2ID: SetWindowText(Stat2, PChar(IntToStr(GetPosTrackBar(TB2))));
end; Вопрос наверное уже понятен, но на всякий случай: Как узнать от какого TrackBara поступило Сообщение об изменение позиции, т.е. если Static'и пусты(при создание текста нет), то при прокрутки одного трэкбара не было опроса второго? Пока что сделал так Код:
SetDlgItemText(Wnd, GetDlgCtrlID(LParam) + 1, PChar(IntToStr(SendDlgItemMessage(Wnd, GetDlgCtrlID(LParam), TBM_GETPOS, 0, 0)))); Но не думаю что это выход из положения. Последний раз редактировалось Stalker2-42, 03.01.2015 в 00:36. |