OberonCore https://forum.oberoncore.ru/ |
|
Вложенные отображения, без модели https://forum.oberoncore.ru/viewtopic.php?f=24&t=915 |
Страница 1 из 1 |
Автор: | Иван Кузьмицкий [ Пятница, 14 Март, 2008 17:14 ] |
Заголовок сообщения: | Вложенные отображения, без модели |
Вот, появилась потребность обсудить такой вопрос, как внедрение одного контрола в другой. Например, поле ввода или кнопку в дерево. Такое конструирование новых элементов управления на основе стандартных представляется очень удобным. В документации по Controls написано, что Цитата: В BlackBox элементы управления являются расширенными отображениями. Как и всякое отображение, элемент управления может быть внедрен в любой общий контейнер, такой как форма или текст. Обычно используются формы. То есть, если контрол не является контейнером, тогда внедрять в него другое отображение принципиально невозможно, это выходит за рамки концепции BlackBox. Как быть? |
Автор: | Илья Ермаков [ Пятница, 14 Март, 2008 17:35 ] |
Заголовок сообщения: | Re: Вложенные отображения, без модели |
Для внедрения отображения, вообще говоря, не обязательно нужно иметь общий контейнер (Containers.Container) - там просто механика общего назначения. Внедрить вложенное отображение можно в любое другое, если из Restore этого другого вызвать f.InstallFrame(вкладываемоеОтображение). Тонкость контролов в том, что они не рисуют себя сами через Restore, а используют отрисовку от ОС (рисует, фактически их спец. фрейм, StdCFrames-HostCFrames). Я, честно говоря, не знаю, что будет, если из Restore одного контрола (дерева, например) вызвать Views.InstallFrame для другого контрола - но есть подозрение, что это работать будет. Дерзайте! |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |