Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Помогите с Mouse.IsDragging


Автор: Alcohol 28.11.2005, 15:47
У меня WinXP и Delphi 6. Сделал обработчик события Button.OnStartDrag. Вот код:
Код

procedure TForm1.Button2StartDrag(Sender: TObject;
  var DragObject: TDragObject);

begin
while Mouse.IsDragging do begin
 Button2.Left:=Mouse.CursorPos.X-Form1.Left;
 Button2.top:=Mouse.CursorPos.y-Form1.Top;
 end;
end;

Во время драгинга в цикл оно почему-то не заходит, т.е. в момент начала дрэгинга Mouse.IsDragging=false. Кто виноват и что делать? Помогите плиз.

Автор: Snowy 28.11.2005, 16:42
Я так понимаю, что имеется ввиду это:
Код

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Button1.BeginDrag(true);
  while Mouse.IsDragging do begin
    Button1.Left:=ScreenToClient(Mouse.CursorPos).X-X;
    Button1.top:=ScreenToClient(Mouse.CursorPos).y-Y;
    Application.HandleMessage;
  end;
end;

Автор: Alcohol 28.11.2005, 21:27
Спасибо, все понял. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)