У меня на MouseDown:
Код:
if GetKeyState(1) shr 31 = 1 then
begin
PlayBar.Position := Round(X * (PlayBar.Max / PlayBar.Width));
ProgressMouseDown := True
end;
На MouseMove:
Код:
// Если была нажата левая клавиша мышки, то продолжаем
if GetKeyState(1) shr 31 = 1 then
PlayBar.Position := Round(X * (PlayBar.Max / PlayBar.Width));
MouseUp:
Код:
// Если была нажата левая клавиша, то продолжаем
if Button = mbLeft then
begin
BASS_ChannelSetPosition(Channel, PlayBar.Position, 0);
ProgressMouseDown := False
end;
OnTimer:
Код:
if ProgressMouseDown = False then
PlayBar.Position := BASS_ChannelGetPosition(Channel, 0);
ProgressMouseDown - глобальная переменная типа Boolean.
Попробуйте вышеприведенный код, скопировал с проекта