![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Clasteruga |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.9.2008 Репутация: нет Всего: 1 |
Всем доброго времени суток...........есть форма 1 и форма 2, как сделать что бы форма 2 при ее передвижении мышью не могла выйти за пределы 1 формы, как бы просто упиралась в 1 форму.......
|
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
|
|||
|
||||
Clasteruga |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.9.2008 Репутация: нет Всего: 1 |
А без использования form2.parent:=form1; можно както программно указать 2 форме при подводе ее к граница 1 формы, что бы 2 форма как бы упиралась в края 1 формы и не могла выйти за границы
Что-то типа if Form2.Left + Form2.Width > Form1.Width then (как дальше описать) ????? Это сообщение отредактировал(а) Clasteruga - 8.4.2011, 09:17 |
|||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 16 Всего: 54 |
-------------------- Кольцов Виктор Владимирович |
|||
|
||||
Clasteruga |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.9.2008 Репутация: нет Всего: 1 |
||||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 16 Всего: 54 |
Form2.Left := (Form1.Left + Form1.Width) - Form2.Width;
-------------------- Кольцов Виктор Владимирович |
|||
|
||||
Clasteruga |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.9.2008 Репутация: нет Всего: 1 |
Прикольно но немного не то: надо что бы при перемещении мышью формы 2, когда границы формы2 доходят до границы формы 1, то перетаскивание формы2 становилось бы невозможным, что-то типа 2форма упирается в границы 1
|
|||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 16 Всего: 54 |
и в чем проблема? как ограничить смещение написано выше лови сообщение WM_MOVE для 2 формы и пиши там свой этот код -------------------- Кольцов Виктор Владимирович |
|||
|
||||
Clasteruga |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.9.2008 Репутация: нет Всего: 1 |
Никогда подобного не делал.......уважаемый Frees научите ловить сообщение WM_MOVE для 2 формы, не серчайте сильно, я только начинающий(ведь ходить мы не сразу научились)
![]() |
|||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 16 Всего: 54 |
http://www.cryer.co.uk/brian/delphi/howto_...nmove_event.htm
Добавлено через 1 минуту и 48 секунд наверно лучше ловить WM_MOVING -------------------- Кольцов Виктор Владимирович |
|||
|
||||
Clasteruga |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.9.2008 Репутация: нет Всего: 1 |
Вот сделал, а как сделать для правого края?
procedure TForm2.WMMoving(var Msg: TWMMoving); var workArea: TRect; begin with Msg.DragRect^ do begin if Form2.Left < Form1.Left then OffsetRect(Msg.DragRect^, Form1.Left - Left, 0) ; if Form2.Top < Form1.Top then OffsetRect(Msg.DragRect^, 0, Form1.Top - Top) ; end; inherited; end; |
|||
|
||||
Gwire |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 7.8.2007 Где: Николаев Репутация: 1 Всего: 4 |
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |