Уважаемые господа! Подскажите – кто чем может!
Как можно совместить в одном проекте ресайзинг окна программы и плавающие ToolBar’ы?
C55H, ABC
Насколько я разобрался на сегодняшний момент с этим, то выходит, значит, так:
- Плавающие тулбары работают только с Frame окном. С простым окном они не работают?
- Ресайзинг фрэйм окна не приводит к аналагичному ресайзингу дочернего окна, в нем находящегося?
- Если установить у дочернего окна тип «Resizable», то 100% появляется его заголовок (синяя полоса), а это очень не нужно!!! Если указать данный тип иным, то заголовок пропадает, но окно не ресайзится.
Навскидку вижу возможным решение в следующем русле:
- Делаю дочернее окно (а оно одно внутри фрэйма) типа Дубле и вешаю на него в Extension какой-нибудь нужный шаблон (класс) рессайзера, который бы управлялся программно.
- В Main Frame’е ставлю галочку Immediate и отлавливаю событие Size (Sized). Определяю в каком направлении (по вертикали, по горизонтали или и то и иное), и по нему отправляю в дочернее окно Post(Event….
- В дочернем окне принимаю данное событие и запускаю ресайзинг + 1
- Все, по идее (теоретически) все должно работать – все окна в проекте резайзятся, плавающие тулбары «отлипают» и «прилипают» куда и как нужно.
Вопросы:
- Не допустил ли я ошибку в рассуждениях?
- Имеется ли какой-нибудь (очень желательно - фришный) шаблон (класс) по программному ресайзингу окон?
- Может все делается намного проще (сложнее)? Если проще, то как?
С глубоким уважением
=NewUser=
Написал: NewUser(217)
Поженить плавающие панели с ресайзингом
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Andrew Listiev
- Активист
- Сообщения: 166
- Зарегистрирован: 07 Июль 2005, 11:16
- Откуда: Латвия, Рига
Docked Window? Это что? Свойства окон? Или это название шаблона?
У меня плавающие панели отлично работают с application.
Так же отлично работает рессайзинг как application'a, так и дочернего window'a. Но… по отдельности.
Все-таки склонился в сторону application'a. А дочернее окно надо будет как-то рессайзить, при изменении фрэйма. Смотрел как это сделано в Nero5. Сначала рессайзица (пользователем) фрэйм, отпускается (мышка), и только потом программно габаритятся все окна внутри фрэйма. Мне не очень понравилось. Было бы лучше сделать все это динамически. Только вопрос: как?
Написал: NewUser(217)
У меня плавающие панели отлично работают с application.
Так же отлично работает рессайзинг как application'a, так и дочернего window'a. Но… по отдельности.
Все-таки склонился в сторону application'a. А дочернее окно надо будет как-то рессайзить, при изменении фрэйма. Смотрел как это сделано в Nero5. Сначала рессайзица (пользователем) фрэйм, отпускается (мышка), и только потом программно габаритятся все окна внутри фрэйма. Мне не очень понравилось. Было бы лучше сделать все это динамически. Только вопрос: как?
Написал: NewUser(217)
- Andrew Listiev
- Активист
- Сообщения: 166
- Зарегистрирован: 07 Июль 2005, 11:16
- Откуда: Латвия, Рига
Да это свойство, окон. В С55 уже есть. Применяется в связке со свойством окна Toolbox и открытием окна с указанием родительского окна. И в конечном счете получаем тулбар-прилипалу. В поставке Клары есть пример реализации. А по поводу реализации ресайза тулбаров, мне видиться только "ручками"
Написал: Andrew Listiev(202)
Написал: Andrew Listiev(202)
Хорошо, с этим (тулбарами-прилипалами), можно сказать, я уже почти что разобрался. А вот вопрос по поводу рессайзинга дочернего окна, которое находится в обрамлении Main Frame, при изменении размеров последнего – так и остается злободневно-открытым! Не уж-то никто не делал ничего подобного?
С уважением
=NewUser=
Написал: NewUser(217)
С уважением
=NewUser=
Написал: NewUser(217)
- Andrew Listiev
- Активист
- Сообщения: 166
- Зарегистрирован: 07 Июль 2005, 11:16
- Откуда: Латвия, Рига
Не почему? Можно. Только тебе надо знать поведение, которое ты хочешь добиться от дочернего окна.
Надо тебе покопать в направлении "Управлении контролами и окном из другого окна". В качестве отправной точки:
GlobalWindow1 &Window
GlobalWindow1Control1 Long
Open(Window)
GlobalWindow1 &= Window
GlobalWindow1Control1 = ?ListBox
Из другого окна:
GlobalWindow1 $ GlobalWindow1Control1{Prop:XPos} = 10
GlobalWindow1 $ GlobalWindow1Control1{Prop:YPos} = 20
и т.д.
Написал: Andrew Listiev(202)
Надо тебе покопать в направлении "Управлении контролами и окном из другого окна". В качестве отправной точки:
GlobalWindow1 &Window
GlobalWindow1Control1 Long
Open(Window)
GlobalWindow1 &= Window
GlobalWindow1Control1 = ?ListBox
Из другого окна:
GlobalWindow1 $ GlobalWindow1Control1{Prop:XPos} = 10
GlobalWindow1 $ GlobalWindow1Control1{Prop:YPos} = 20
и т.д.
Написал: Andrew Listiev(202)