Страница 1 из 2

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

Добавлено: 03 Февраль 2013, 2:01
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

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

Добавлено: 03 Февраль 2013, 7:43
StillZero
Шаблон рейсайзера. Модель use anchor рулит.

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

Добавлено: 03 Февраль 2013, 21:23
Developer
StillZero, спасибо за отклик, но я не понял как применить твой ответ.

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

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

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

С Уважением, Developer, cfwdeveloper@gmail.com

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

Добавлено: 04 Февраль 2013, 0:14
Admin
Developer писал(а):Если есть возможность, прошу уточнить как решить данный вопрос подробнее,
используя стандартные шаблоны ABC Clarion 8
Вам все верно написали. Стандартный шаблон типа Extension с именем WindowResize.

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

Добавлено: 04 Февраль 2013, 5:12
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

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

Добавлено: 04 Февраль 2013, 9:30
Дед Пахом
При стратегии Anchor надо идти в форматтер окна и каждому контролу явно задавать привязки (правый клик на контроле -> Action)

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

Добавлено: 04 Февраль 2013, 17:39
kreator
Я использую стратегию Surface и каждому контролу прописываю свои привязки. Достаточно установить это в App, не надо лезть в шаблоны.

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

Добавлено: 21 Октябрь 2013, 13:09
olegnabclw
А без шаблонов как-то возможно (через prop:xxxx )?

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

Добавлено: 21 Октябрь 2013, 16:26
Yufil
Бывает иногда, что стандартный ресайзинг не устраивает или работает неправильно.
Например, на экране есть картинка, у которой надо сохранять пропорции невзирая на.

Тогда да, в методе Resizer.Resize можно поменять положение нужных контролов (например, через SetPosition), привязываясь к новому положению других контролов.

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

Добавлено: 05 Август 2014, 14:59
vea
kreator писал(а):Я использую стратегию Surface и каждому контролу прописываю свои привязки. Достаточно установить это в App, не надо лезть в шаблоны.
А как вы привязываете какой-то конкретный контрол? Где это в App?
У меня 2 контрола: Prompt и Entry. Запретил ресайз ширины окна, оставил ресайз высоты. И они оба при увеличении окна лезут в середину таба.
В одной программе я просто взял и все контролы перевел в верхнюю часть окна, таким образом избавившись от этой головной боли... Но, это же изврат... :-(
Clarion 8.0, WinXP Sp3

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

Добавлено: 05 Август 2014, 15:24
kreator
Для vea. Каждая процедура с окном имеет закладку "Extensions". Там есть extension "Allows Controls to be resized with window". Там всё - и стратегия и каждый контрол настраивается. Если такого extension нет, надо его добавить на этой же закладке кнопкой "Insert". Если и по кнопке "Insert" его нет, то надо где-то в свойствах App включить ресайзинг (а может такого нет, я уже гоню).

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

Добавлено: 05 Август 2014, 16:01
vea
Спасибо! Еще раз внимательнее рассмотрел, что есть в окне Extensions и увидел поле Windows Control, где есть возможность выбора нужного контрола... Буду экспериментировать с предлагаемыми вариантами.

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

Добавлено: 05 Август 2014, 17:35
kreator
Ну да, там выбираешь каждый контрол и задаёшь ему стратегию ресайзинга.

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

Добавлено: 14 Август 2014, 11:22
vea
А, в принципе, для чего нужен такой режим, когда кнопки самостоятельно бегают по табам при ресайзе? В чем идея разработчиков Клариона? Я не смог придумать...
По-моему, по умолчанию кнопки должны бы жестко фиксироваться на назначенных местах, а вот, если кому-то надо, то можно дать возможность изменить режим...

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

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