Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 796

•  TDictionary Custom Sort  6 793

•  Fast Watermark Sources  6 581

•  3D Designer  9 534

•  Sik Screen Capture  6 918

•  Patch Maker  7 365

•  Айболит (remote control)  7 303

•  ListBox Drag & Drop  6 168

•  Доска для игры Реверси  98 108

•  Графические эффекты  7 481

•  Рисование по маске  6 774

•  Перетаскивание изображений  5 630

•  Canvas Drawing  6 007

•  Рисование Луны  5 798

•  Поворот изображения  5 251

•  Рисование стержней  3 844

•  Paint on Shape  2 999

•  Генератор кроссвордов  3 955

•  Головоломка Paletto  3 138

•  Теорема Монжа об окружностях  3 969

•  Пазл Numbrix  2 620

•  Заборы и коммивояжеры  3 431

•  Игра HIP  2 347

•  Игра Go (Го)  2 264

•  Симулятор лифта  2 664

•  Программа укладки плитки  2 225

•  Генератор лабиринта  2 775

•  Проверка числового ввода  2 385

•  HEX View  2 720

•  Физический маятник  2 411

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Перемещение окна вне заголовка



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

Нужно объявить три глобальные переменные в публичных объявлениям (после ключевого слова 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;