Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
11 / 8 / 3
Регистрация: 14.07.2015
Сообщений: 284
1

Как перемещать форму по щелчку на компоненте?

24.07.2015, 10:28. Показов 1709. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
То-есть как сделать чтобы форму можно было перетаскивать за любое место. Щелкаешь внутри формы и перетаскиваешь. А еще лучше - щелкаешь по компоненту ТЛейбл и перетаскиваешь сразу всю форму
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.07.2015, 10:28
Ответы с готовыми решениями:

Image - как перемещать картинку в компоненте?
Здравствуйте. Есть картинка большая содал компонент Image но она там не помащеться. Хочу сделать...

Как перемещать форму BorderStyle=None
Допилил чуть-чуть один примерчик с этого форума с изменением размера и перетаскиванием формы без...

Как перемещать форму без бордюров
Ребят, как можно сделать то,что я написал в заголовке? Добавлено через 10 минут P.S. имею ввиду...

Как перемещать форму без бордюров
создал форму в vb2010, от отключил верхний бар (заголовок) и теперь невозможно передвигать окно...

7
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
24.07.2015, 12:06 2
Лучший ответ Сообщение было отмечено ПраПрапорщик как решение

Решение

Не знаю кто придумал, но бродит по инету
/перемещение формы мышью за компонент, здесь Label
Delphi
1
2
3
4
5
6
procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Form1.perform(WM_SysCommand,$F012,0);
end;
Добавлено через 1 минуту
Delphi
1
2
3
4
5
6
7
//перемещение формы мышью без компонентов
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Form1.perform(WM_SysCommand,$F012,0);
end;
1
11 / 8 / 3
Регистрация: 14.07.2015
Сообщений: 284
24.07.2015, 13:17  [ТС] 3
Великое и могучее спасибо
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
24.07.2015, 13:48 4
Можно и смешнее попробовать:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
     OldX:=x;
     OldY:=y;
     Flafg:=true;
end;
procedure TForm1.Label1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
     Flafg:=false;
end;
procedure TForm1.Label1MouseMove(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
     if Flag then begin
                       Form1.Left:=Form1.Left+x-OldX;
                       Form1.Top :=Form1.Top +y-OldY;
                       OldX:=x;
                       OldY:=y;
                  end;
end;
.
0
11 / 8 / 3
Регистрация: 14.07.2015
Сообщений: 284
24.07.2015, 14:06  [ТС] 5
Цитата Сообщение от taras atavin Посмотреть сообщение
Flafg
действительно, смещнее =)
0
W
115 / 115 / 33
Регистрация: 16.04.2013
Сообщений: 750
24.07.2015, 14:15 6
Цитата Сообщение от taras atavin Посмотреть сообщение
Можно и смешнее
Фу. Кокая-то рябь при перетаскивании(((
А как бы окно "приклеить" к курсору по щелчку мыши, а по следующем щелчке отклеить?
0
11 / 8 / 3
Регистрация: 14.07.2015
Сообщений: 284
24.07.2015, 14:16  [ТС] 7
Тарас, форма дрожит как бабочка. Сам пробовал такой вариант

Добавлено через 26 секунд
kavasaka, код Puporevа прекрасно работает
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
24.07.2015, 20:33 8
Цитата Сообщение от kavasaka Посмотреть сообщение
Фу. Кокая-то рябь при перетаскивании(((
Цитата Сообщение от ПраПрапорщик Посмотреть сообщение
Тарас, форма дрожит как бабочка. Сам пробовал такой вариант
А ни кто не обещал хорошую альтернативу.
0
24.07.2015, 20:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.07.2015, 20:33
Помогаю со студенческими работами здесь

Как автоматически перемещать форму по экрану?
Подскажите как автоматически перемещать форму по экрану, например, чтобы она двигалась из одного...

Как перемещать форму колесом мыши?
Ну то есть скрол бар на Form с помощью колесика перемещался. (Скорее всего вопрос глупый)Но тем не...

Как перемещать форму без заголовка
Всем привет,у меня глупый впрос :-| по тому как создать форму с BorderStyle - None. Чтобы ее можно...

Как перемещать форму по экрану, если FormBorderStyle = None ?
Доброго времени суток... Можно ли как-то мышкой перемещать форму по экрану, если FormBorderStyle...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru