Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Перемещение окна вне заголовка

- Чем компьютер лучше девушки?
- Мама твоего компьютера не претендует стать твоей тёщей.

Нужно объявить три глобальные переменные в публичных объявлениям (после ключевого слова Public):


public
  { Public declarations }
  Draging: Boolean;
  X0, Y0: integer;

  • Draging - для обозначение того периода времени когда пользователь перемещает мышь с зажатой кнопкой мыши,
  • X0 и Y0 - координаты точки, над которой была зажата кнопка мыши

Далее описываем события формы OnMouseDown, OnMouseMove и OnMouseUp:


procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
  Draging := true;
  x0 := x;
  y0 := y;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
  Draging := false;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
  if Draging = true then
  begin
    Form1.Left := Form1.Left + X - X0;
    Form1.top := Form1.top + Y - Y0;
  end;
end;

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay