Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Можно ли отловить Click на бордюре формы?  [new]
diesel_216
Member

Откуда:
Сообщений: 29
Этот Click происходит, например, когда хотим изменить размеры формы с помощью мышки. Нужно отловить момент нажатия мышки на бордюре формы.
10 фев 10, 14:01    [8323448]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
AmKad
Member

Откуда:
Сообщений: 5222
diesel_216,

не Click а Resize
10 фев 10, 14:10    [8323560]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
diesel_216
Member

Откуда:
Сообщений: 29
AmKad,

Т.е. когда я нажимаю левую кнопку мышки на бордюре формы срабатывает Resize?
10 фев 10, 14:16    [8323619]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
AmKad
Member

Откуда:
Сообщений: 5222
diesel_216,
diesel_216
когда хотим изменить размеры формы с помощью мышки

А вы как я понял хотите отловить до изменения? с какой целью?
10 фев 10, 14:24    [8323710]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
прошелмимо
Member [заблокирован]

Откуда: Из Курска понаехал
Сообщений: 10363
автор
когда хотим изменить размеры формы с помощью мышки


для чего?
что Вы желаете сделать?
10 фев 10, 14:29    [8323772]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
diesel_216
Member

Откуда:
Сообщений: 29
AmKad,

Совершенно верно. Отловить нужно до изменения, для того чтобы перед изменением увеличить MaxHeight формы. И произвести изменение размера формы.

Высота формы может увеличиваться двумя способами:
1. Добалением в неё объектов программно
2. Раздвижением высоты мышкой(пользователем).

В первом способе форма имеет MaxHeight и её высота не становится больше MaxHeight.
Во втором способе пользователь может изменить высоту формы мышкой.
Для того что бы пользователь мог изменить высоту мышкой нужно после нажатия на бордюр увеличить MaxHeight до максимального значения, что позволит пользователю изменять высоту формы.
10 фев 10, 14:35    [8323846]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
прошелмимо
Member [заблокирован]

Откуда: Из Курска понаехал
Сообщений: 10363
попробуйте оставить св-во MaxHeight в покое и не устанавливать его никогда,
т.е. MaxHeight = -1 (по умолчанию)

когда Вы присваиваете св-ву MaxHeight какое-то значение?
зачем Вы это делаете?
что будет, если не присваивать св-ву MaxHeight значения?
10 фев 10, 14:47    [8323972]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
AmKad
Member

Откуда:
Сообщений: 5222
diesel_216

То есть как я понял MaxHeight у вас исп-ся как ограничение для программного (то есть не ручками юзверя) увеличения размера формы.
можно как вариант разделить логику программного увеличения и юзверьского. Сделать доп сво-во на форме с необходимым значением Height для таких целей и уже в коде, который программно увеличивает размер следить за превышением.
А юзверь пусть себе балуется.
10 фев 10, 14:50    [8324004]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
diesel_216
Member

Откуда:
Сообщений: 29
прошелмимо
попробуйте оставить св-во MaxHeight в покое и не устанавливать его никогда,
т.е. MaxHeight = -1 (по умолчанию)

когда Вы присваиваете св-ву MaxHeight какое-то значение?
зачем Вы это делаете?
что будет, если не присваивать св-ву MaxHeight значения?


MaxHeight получает значение при ините формы. Т.е. при добалении на форму каких-либо объектов программно, форма не должна увеличивать свою высоту более заданного значения в ините.
Когда пользователь захочет изменить максимальную высоту формы, он мышкой её изменяет. И новое значение высоты формы записывается в MaxHeight.
Как я вижу реализацию изменения пользователем макс. высоты формы :
1. Пользователь подводит курсор к нижнему краю формы (значёк курсора принимает вид двунаправленной стрелки)
2. Пользователь нажимает правую кнопку мышки. В этот момент я проверяю, если нажатие мышки(MouseDown) произошло на бордюре, то MaxHeight = -1
3. Пользователь растятивает форму в высоту
4. Пользователь отпускает правую кнопку мышки. В этот момент я проверяю, если отпускание мышки(MouseUp) произошло на бордюре, то MaxHeight = ThisForm.Height
10 фев 10, 14:58    [8324070]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
прошелмимо
Member [заблокирован]

Откуда: Из Курска понаехал
Сообщений: 10363
автор
Как я вижу реализацию изменения пользователем макс. высоты формы :


Вы видите плохо.
Не трогайте и не устанавливайте в ините этому св-ву значение,
оно должно быть по-умолчанию,
оно для того и придумано, чтобы не дать пользователю
менять размер свыше лимитированного.

исправляйте, уберите из инита присвоение
св-ву MaxHeight значения.
если у формы есть размер, Вы его поставили
Height = ...
Width = ...
не зачем устанавливать ее св-во MaxHeight,
т.к. если Вы добавите контролы, то на размер это не повлияет,
или иными словами:

накидайте программно(динамически) контролов
у выставьте размеры ей
Height = ...
Width = ...
св-во MaxHeight устанавливать не нужно.
10 фев 10, 15:06    [8324134]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
diesel_216
Member

Откуда:
Сообщений: 29
AmKad
diesel_216

То есть как я понял MaxHeight у вас исп-ся как ограничение для программного (то есть не ручками юзверя) увеличения размера формы.
можно как вариант разделить логику программного увеличения и юзверьского. Сделать доп сво-во на форме с необходимым значением Height для таких целей и уже в коде, который программно увеличивает размер следить за превышением.
А юзверь пусть себе балуется.


Вы меня совершенно правильно поняли. MaxHeight исп-ся как ограничение для программного (то есть не ручками юзверя) увеличения размера формы.

Ваш вариант тоже рассматривается. Но пользователь будет увеличивать высоту формы для того, что бы увеличить значение этого доп сво-ва. Которое в дальнейшем будет следить за непревышением уже нового значения, заданного пользователем изменением высоты в ручную. А для всего этого уже есть готовое сво-во -- MaxHeight. :)
10 фев 10, 15:10    [8324170]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
проходящий.
Guest
diesel_216,
странная какая-то логика. Зачем постоянно дергать MaxHeight, если можно просто в Resize поставить Nodefault в том случае, когда юзеру нельзя изменять размеры? Зачем чесать правой пяткой левое ухо?
10 фев 10, 15:14    [8324200]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
diesel_216
Member

Откуда:
Сообщений: 29
проходящий.,

Юзеру можно изменять размеры.
10 фев 10, 15:25    [8324289]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
прошелмимо
Member [заблокирован]

Откуда: Из Курска понаехал
Сообщений: 10363
[quot diesel_216]А для всего этого уже есть готовое сво-во -- MaxHeight[quot]

св-во не для Вас, и не для программного манипулирования,
св-во как раз для пользователя, который будет мышью(или каким-то другим способом)
менять размер.
При реализации алгоритма динамического добавления контролов не
нужно трогать св-во MaxHeight, а анализировать что-то иное, св-во, переменную ...

св-ву MaxHeight не нужно ничего присваивать, или нужно присваивать реальный лимит.
10 фев 10, 15:27    [8324305]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
проходящий.
Guest
diesel_216
проходящий.,

Юзеру можно изменять размеры.
Тогда зачем дергать MaxHeight? Вы правильно поняли назначение этого свойства? Если юзеру можнро, то зачем стоит ограничение, которое надо снимать для реализации юзером его "можно"?
10 фев 10, 15:31    [8324331]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
прошелмимо
Member [заблокирован]

Откуда: Из Курска понаехал
Сообщений: 10363
+ diesel_216 , к сведению замеждупрочим

потом, когда реализуете динамику - дайте посмотреть - покритикуем.
(если будет обилие макроподстановок поругаем и наставим на верный путь)
10 фев 10, 15:33    [8324341]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
diesel_216
Member

Откуда:
Сообщений: 29
проходящий.,

Теперь про св-во MaxHeight понятно.
10 фев 10, 16:52    [8324955]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли отловить Click на бордюре формы?  [new]
diesel_216
Member

Откуда:
Сообщений: 29
прошелмимо,

Если реализую, то обязательно дам посмотреть.
10 фев 10, 16:53    [8324973]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить