Привет,
Да, сплиттер снова обновился.
> А там другой принцип, нежели в spfwc? (как-то в последнем он более
> привычно выглядит)
Ну вид это три строчки отрисовки :)
Можно очень легко создать класс CWindow SUBCLASS CMySplitter,
перегрузить в нем WM_PAINT и приаттачить к окну сплиттера методом
attach, ну а в WM_PAINT можно делать все.
Края CPanel можно менять сменой стиля прямо в init, так что это все
очень легко меняется без лишних движений.
И следует использовать winxp манифест, чтобы wfl контролы выглядели в
соответствии с winxp стилем.
Ага, посмотрел, в spfwc он оставляет артефакты.
Во вторых он требует много ручной работы.
14 строчек создания против 2-х в wfl.
В третьих чтобы сделать несколько сплиттеров надо сделать кучу ручной
работы, неудобно.
> А как вставить другие контролы в панели?
> Например, как в почт. клиентах - слева TreeView, в правой верхней панели
> ListView,
> в правой нижней HtmlView?
> CPanel SUBCLASS ?
>
Можно так, да, и в WM_CREATE насоздавать каких угодно контролов.
И надо обработать WM_SIZE панели и изменять размеры контролов
соответственно изменению размера панели.
(вот в этом месте я планирю сделать умный framework автоматического
репозиционирования дочерних контролов с anchors, когда руки дойдут).
А можно и контрол установит панелью, если он будет один на панели.
Например TreeView - так будет вообще просто, и размеры будут ставиться
автоматически. Методы setLeftPane/setRightPane.
Это если контролов мало.
А если много то можно сделать modeless диалог, описать контролы в
диалоге, и диалог этот установить как дочерний к CPanel простым
SetParent. Или класс немодального дочернего диалога установить панелью -
методом setLeftPane например.
Вариантов много.
Andrey Cherezov wrote:
> Добрый день, Dmitry Yakimov!
>
> Ваше сообщение от 09.12.2006 18:01:
>
>> Решил задачу создания сплиттера средствами WFL, смотрите здесь:
>> CVS:~day\wfl\examples\splitter.f.
>>
>> Контроллер сплиттера включает в себя сам сплиттер и два окна-панели.
>> И сплиттер и панели являются дочерними по отношению к окну на котором
>> они находятся. Контроллер управляет сплиттером и панелями, изменяет
>> размеры
>> панелей и положение сплиттера.
>>
>>
> А там другой принцип, нежели в spfwc? (как-то в последнем он более
> привычно выглядит)
>
>> Панели можно использовать свои, что и продемонстрировано в примере.
>> Сплиттеров может быть сколько угодно.
>>
>>
> А как вставить другие контролы в панели?
> Например, как в почт. клиентах - слева TreeView, в правой верхней панели
> ListView,
> в правой нижней HtmlView?
> CPanel SUBCLASS ?
>
>
Best Regards,
Dmitry Yakimov