Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2011, 21:31   #1
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию Форма и размеры

Всем доброго времени суток.....подскажите начинающим людям...........как сделать что бы если я начинаю уменьшать размеры 1 формы и ее края достигают краев формы 2, то первую форму уже нельзя уменьшать(ширину или высоту)
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...
Claster вне форума Ответить с цитированием
Старый 13.04.2011, 22:32   #2
RomiKon
Форумчанин
 
Регистрация: 11.04.2010
Сообщений: 143
По умолчанию

Если вы говорите о Delphi то: У формы есть такой обработчик события Onresize, который вызывается при изменении размеров формы. Код этого обработчика можно сделать следующий:
1)проверить на пересечение Rect формы1 и формы2
2)если пересеклись то шаг 3 иначе 4
3)присваиваем свойствам формы width и height значение глобальных переменых width и height
4)присваиваем глобальным переменым width и heigth значение свойств формы
RomiKon вне форума Ответить с цитированием
Старый 13.04.2011, 23:27   #3
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию

1)проверить на пересечение Rect формы1 и формы2
2)если пересеклись то шаг 3 иначе 4
как реализовать эти 2 пункта? программно
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...
Claster вне форума Ответить с цитированием
Старый 14.04.2011, 09:55   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Код:
if ((form1.boundsrect.left in [form2.boundsrect.left..form2.boundsrect.right]) or
(form1.boundsrect.right in [form2.boundsrect.left..form2.boundsrect.right]))
and  ((form1.boundsrect.top in [form2.boundsrect.top..form2.boundsrect.bottom]) or
(form1.boundsrect.bottom in [form2.boundsrect.top..form2.boundsrect.bottom]))
  then dolimitjob()
  else dosetjob()
как-то так ))
phomm вне форума Ответить с цитированием
Старый 14.04.2011, 13:56   #5
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
Код:
if ((form1.boundsrect.left in [form2.boundsrect.left..form2.boundsrect.right]) or
(form1.boundsrect.right in [form2.boundsrect.left..form2.boundsrect.right]))
and  ((form1.boundsrect.top in [form2.boundsrect.top..form2.boundsrect.bottom]) or
(form1.boundsrect.bottom in [form2.boundsrect.top..form2.boundsrect.bottom]))
  then dolimitjob()
  else dosetjob()
как-то так ))
что такое then dolimitjob() else dosetjob()
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...
Claster вне форума Ответить с цитированием
Старый 14.04.2011, 17:57   #6
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

ну насмешил )) это ты должен написать, это процедуры, просто я их так хитро обозвал , в них заложен функционал
Цитата:
Сообщение от Claster
1)проверить на пересечение Rect формы1 и формы2
2)если пересеклись то шаг 3 иначе 4
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Размеры формы a_n_n_a Общие вопросы Delphi 14 04.04.2011 16:41
размеры листьев koshmarius Помощь студентам 4 12.08.2009 15:44
Размеры картинки Lemo Общие вопросы Delphi 22 09.02.2009 00:04
Размеры изображения RamireZ Мультимедиа в Delphi 5 05.10.2008 09:48
Изменить размеры Манжосов Денис :) Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 16.05.2008 20:14