|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.01.2013, 23:35 | #1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
TPageControl и TFrame. Динамическая организация.
Доброго времени суток!
Слева окна программы, находятся этакий туллбар с кнопками, справа 1 сплиттер и TPageControl. При клике на опр. кнопку: в PageControl'е, рождается вкладка а на ней фрейм, и все это таким кодом: Код:
1. Как правильно организовать программу с фреймами? Как вы это делаете? Несколько фреймов у меня не будет, будет 1 вкладка и на ней будут меняться фреймы(Да я заметил, что делаю лишнюю работу в коде, создавая вкладку заново). 2. Как динамически менять размер формы в соотв. с размером фрейма? Я правильно делаю? Можно что-то лучше сделать? 3. Мне необходимо при создании фрейма что-то сделать конкретно для него и что-то сделать при его смерти. Как? Я приспособил к этому делу TAG свойство TabSheet'а. И думал через ActivePage.Tag понимать что сейчас за фрейм и делать действия в OnShow, OnHide вкладки. Но почему-то это не работает. Есть альтернатива? Последний раз редактировалось Человек_Борща; 11.01.2013 в 23:38. |
12.01.2013, 14:53 | #2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Есть идеи?
|
12.01.2013, 15:38 | #3 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Цитата:
При креации Код:
Код:
Код:
Еще такой момент - может стоит подумать в сторону MDI?
I'm learning to live...
|
|||
12.01.2013, 16:19 | #4 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
По скольку у меня всегда 1 фрейм в работе, то я сделал проще:
Вкладка тоже всегда 1 и по этому нет нужды её пересоздавать. При создании фрейма: в свойство tag идет некий идентификатор, который определяет что за фрейм сейчас работает. Код:
Код:
Последний раз редактировалось Человек_Борща; 12.01.2013 в 16:48. |
12.01.2013, 17:10 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А зачем PageControl c одной вкладкой? Фрейм и на TPanel к примеру можно выкладывать. А сколько вариантов фреймов? Если не много, то можно в PageControl создать соответствующее число вкладок и управлять видимостью через TabVisible обойдясь без фреймов. Не так уж и много доп.памяти сожрется
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
12.01.2013, 17:19 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
12.01.2013, 21:09 | #7 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Аватар, смотря как смотреть. Есть очень "весомые" вкладки.
Вариант всего 1 окна удобен да и опыт работы в фреймами и вкладками весьма кстати Stilet, удобство всего 1 окна без модальных форм и форм в целом. Со своей проблемой я разобрался. Возьму к примеру QIP и Miranda , каким образом там организовано управление и разность данных и опций для отдельных вкладок(каждому своё)? Последний раз редактировалось Человек_Борща; 12.01.2013 в 21:21. |
12.01.2013, 21:31 | #8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А пес их знает...
Свое что-то сделано, но я делаю на каждую "учетную" отдельный набор компонентов. Памяти не так много кушается, зато возни меньше, чем если бы переключаться между данными используя всего один набор для всех.
I'm learning to live...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблемы с TFRame в своих компонентах | smolbars | Компоненты Delphi | 0 | 04.02.2012 17:29 |
TFrame | MAZADA | Общие вопросы Delphi | 3 | 22.10.2010 00:51 |
TpageControl+SynEdit | DimOn4Ik | Общие вопросы Delphi | 10 | 02.01.2010 01:35 |
TPageControl | Kycaka | Общие вопросы C/C++ | 1 | 29.05.2009 15:14 |
Обработка wm_keydown если на форме присутствует TFrame | Oburec | Компоненты Delphi | 1 | 13.04.2009 10:01 |