Показать сообщение отдельно
  #5  
Старый 08.11.2012, 17:24
Аватар для sariman
sariman sariman вне форума
Активный
 
Регистрация: 19.11.2011
Адрес: Украина, Луганская обл.
Сообщения: 244
Версия Delphi: 7, XE, Lazarus
Репутация: выкл
По умолчанию

У меня на 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.

Попробуйте вышеприведенный код, скопировал с проекта
Ответить с цитированием