Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Позиция курсора

Автор: Артемий 18.08.2007 15:11

Всем привет. Тут такая проблема возникла - нужно при щелчке по trackbar отследить позицию курсора на нем по оси x и получить в виде числа. Возможно ли это? blink.gif

Добавлено через 1 мин.
Trackbar растянут по всей длине формы.

Автор: volvo 18.08.2007 15:59

  // Перед классом формы:
TTrackBar = class(ComCtrls.TTrackBar)
private
procedure WMLButtonDown (var Msg: TMessage);
message wm_LButtonDown;
end;

// Собственно реализация:
procedure TTrackBar.WMLButtonDown (var Msg: TMessage);
var
X, Y: integer;
the_pos: integer;
begin
X := LOWORD(Msg.LParam);
Y := HIWORD(Msg.LParam);

// Вывод сделал в Memo для удобства отладки...
Form1.Memo1.Lines.Add('click at: ' + inttostr(x) + ':' + inttostr(y));
the_pos := trunc((Max - Min) * X / Width) + Min;
Form1.Memo1.Lines.Add('pos = ' + inttostr(the_pos));
end;



Пойдет? Или ты имел в виду что-то другое?

Автор: Артемий 18.08.2007 19:53

Премного благодарен! Respect!!! good.gif good.gif smile.gif

Автор: Артемий 19.08.2007 1:02

Volvo,еще один вопросик. Допустим у меня уже установлен свой компонент TXiTrackBar. Как к нему замутить такую штуку?

Автор: volvo 19.08.2007 1:39

Ну, откуда же я знаю, что это за компонент? Он же нестандартный...

Автор: Артемий 19.08.2007 1:54

Я обошел эту проблему! Спасибо еще раз! +1