Положение объекта при максимизации окна Browse

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Положение объекта при максимизации окна Browse

Сообщение Developer »

Привет всем!

Clarion 8.0.9661 Windows 7 SP1 Русский.

При полном развертывании окна Browse объекты типа ENTRY, STRING, PROMPT, PANEL находящиеся на одной линии с стандартными кнопками Close и Help перемещается на закладку (Tab) и соответственно ListBox.

Если вместо них в тоже положение помещена кнопка (Button) то при максимизации окна она корректно размещается на одной линии с вышеуказанными кнопками и не попадает на закладку (Tab).

Что необходимо сделать при полном развертывании окна для исключения перемещения объектов типа ENTRY, STRING, PROMPT, PANEL на закладку (Tab, ListBox) а прижимались к низу окна?

С Уважением, Developer, cfwdeveloper@gmail.com
С Уважением, Developer
Аватара пользователя
StillZero
Ветеран
Сообщения: 454
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Контактная информация:

Re: Положение объекта при максимизации окна Browse

Сообщение StillZero »

Шаблон рейсайзера. Модель use anchor рулит.
Все сайты закрыты...
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Re: Положение объекта при максимизации окна Browse

Сообщение Developer »

StillZero, спасибо за отклик, но я не понял как применить твой ответ.

Если есть возможность, прошу уточнить как решить данный вопрос подробнее,
используя стандартные шаблоны ABC Clarion 8.

Что и где конкректно изменить?

P. S. Предполагаю, что ты имел ввиду файл ABWINDOW.TPW но что и где конкрентно менять не разобрался.

С Уважением, Developer, cfwdeveloper@gmail.com
С Уважением, Developer
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Re: Положение объекта при максимизации окна Browse

Сообщение Admin »

Developer писал(а):Если есть возможность, прошу уточнить как решить данный вопрос подробнее,
используя стандартные шаблоны ABC Clarion 8
Вам все верно написали. Стандартный шаблон типа Extension с именем WindowResize.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Re: Положение объекта при максимизации окна Browse

Сообщение Developer »

Спасибо StillZero и Admin за ответы на вопрос "Положение объекта при максимизации окна Browse"! Разобрался!

Основной параметр влияющий на положение этих объектов Resize Strategy - его возможно изменить как непосредственно в Application:
Browse -> Properties -> Allows controls to be resized with window -> Properties -> Resize Strategy : Use Anchor и другие.
А также модифицировав шаблон ABWINDOW.TPW -> EXTENS.TPW -> %AppStrategy

#PROMPT('Resize Strategy: ',DROP('Use Anchor|Centered|Resize|Spread|Surface|Don''t alter controls')),%AppStrategy,DEFAULT('Spread')

Однако при выборе Resize Strategy -> Use Anchor в оконе Browse Tab и ListBox не разворачиваются а остаются с тем же исходным размером
определённом в Application.
При обратном изменении Resize Strategy -> Spread всё работает в соответствии с условием вопроса!

Прошу сообщить Ваши мнения!

С Уважением, Developer, cfwdeveloper@gmail.com
С Уважением, Developer
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3133
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Re: Положение объекта при максимизации окна Browse

Сообщение Дед Пахом »

При стратегии Anchor надо идти в форматтер окна и каждому контролу явно задавать привязки (правый клик на контроле -> Action)
С уважением, ДП
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Re: Положение объекта при максимизации окна Browse

Сообщение kreator »

Я использую стратегию Surface и каждому контролу прописываю свои привязки. Достаточно установить это в App, не надо лезть в шаблоны.
We are hard at work… for you. :)
olegnabclw
Новичок
Сообщения: 20
Зарегистрирован: 24 Февраль 2012, 8:33

Re: Положение объекта при максимизации окна Browse

Сообщение olegnabclw »

А без шаблонов как-то возможно (через prop:xxxx )?
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Re: Положение объекта при максимизации окна Browse

Сообщение Yufil »

Бывает иногда, что стандартный ресайзинг не устраивает или работает неправильно.
Например, на экране есть картинка, у которой надо сохранять пропорции невзирая на.

Тогда да, в методе Resizer.Resize можно поменять положение нужных контролов (например, через SetPosition), привязываясь к новому положению других контролов.
Аватара пользователя
vea
Бывалый
Сообщения: 51
Зарегистрирован: 01 Сентябрь 2005, 15:48
Откуда: Иваново
Контактная информация:

Re: Положение объекта при максимизации окна Browse

Сообщение vea »

kreator писал(а):Я использую стратегию Surface и каждому контролу прописываю свои привязки. Достаточно установить это в App, не надо лезть в шаблоны.
А как вы привязываете какой-то конкретный контрол? Где это в App?
У меня 2 контрола: Prompt и Entry. Запретил ресайз ширины окна, оставил ресайз высоты. И они оба при увеличении окна лезут в середину таба.
В одной программе я просто взял и все контролы перевел в верхнюю часть окна, таким образом избавившись от этой головной боли... Но, это же изврат... :-(
Clarion 8.0, WinXP Sp3
С уважением, vea
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Re: Положение объекта при максимизации окна Browse

Сообщение kreator »

Для vea. Каждая процедура с окном имеет закладку "Extensions". Там есть extension "Allows Controls to be resized with window". Там всё - и стратегия и каждый контрол настраивается. Если такого extension нет, надо его добавить на этой же закладке кнопкой "Insert". Если и по кнопке "Insert" его нет, то надо где-то в свойствах App включить ресайзинг (а может такого нет, я уже гоню).
We are hard at work… for you. :)
Аватара пользователя
vea
Бывалый
Сообщения: 51
Зарегистрирован: 01 Сентябрь 2005, 15:48
Откуда: Иваново
Контактная информация:

Re: Положение объекта при максимизации окна Browse

Сообщение vea »

Спасибо! Еще раз внимательнее рассмотрел, что есть в окне Extensions и увидел поле Windows Control, где есть возможность выбора нужного контрола... Буду экспериментировать с предлагаемыми вариантами.
С уважением, vea
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Re: Положение объекта при максимизации окна Browse

Сообщение kreator »

Ну да, там выбираешь каждый контрол и задаёшь ему стратегию ресайзинга.
We are hard at work… for you. :)
Аватара пользователя
vea
Бывалый
Сообщения: 51
Зарегистрирован: 01 Сентябрь 2005, 15:48
Откуда: Иваново
Контактная информация:

Re: Положение объекта при максимизации окна Browse

Сообщение vea »

А, в принципе, для чего нужен такой режим, когда кнопки самостоятельно бегают по табам при ресайзе? В чем идея разработчиков Клариона? Я не смог придумать...
По-моему, по умолчанию кнопки должны бы жестко фиксироваться на назначенных местах, а вот, если кому-то надо, то можно дать возможность изменить режим...
С уважением, vea
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Положение объекта при максимизации окна Browse

Сообщение Игорь Столяров »

vea писал(а):По-моему, по умолчанию кнопки должны бы жестко фиксироваться на назначенных местах, а вот, если кому-то надо, то можно дать возможность изменить режим...
Все так и есть. Просто отключи ресайзинг (удали шаблон в Extentions & Template окна) и все контролы будут "жестко фиксироваться на назначенных местах".
А вот если ты включаешь ресайзинг, то либо шаблон пытается самостоятельно определить стратегию изменений параметров контролов (не всегда лучшим образом),
либо следует задать вручную параметры изменений контролов при изменении размеров окна. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить