Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Необычный mdi-нтерфейс 
:(
    Опции темы
miksayer
Дата 5.8.2005, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 21.11.2004

Репутация: нет
Всего: 1



Я видел много программ с чем-то вроде mdi-нтерфейс. Там был PageControl и для каждого открытого файла была своя вкладка. Есть где-нибудь пример подобной программы(на Делфи или на Билдере)?
PM MAIL   Вверх
Vit
Дата 5.8.2005, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: нет
Всего: 207



Вот код Создания новой страницы:

Код

  var tab:TTabSheet;
      memo:TMemo;
begin
  tab:=TTabSheet.Create(Form1);
  tab.PageControl:=PageControl1;
  memo:=Tmemo.Create(self);
  memo.Parent:=tab;
  memo.Align:=alClient;
  tab.tag:=integer(pointer(memo));
end;


Чтобы достучаться до нужного memo, например со второй закладки:

Код

  TMemo(pointer(PageContol.pages[1].tag)).text:='Hello!'





--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
miksayer
Дата 5.8.2005, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 21.11.2004

Репутация: нет
Всего: 1



а как закрыть вкладку?
Добавлено @ 20:23
и куда лучше записывать информацию о том, что юзер изменил файл?
PM MAIL   Вверх
Vit
Дата 5.8.2005, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: нет
Всего: 207



Цитата(miksayer @ 5.8.2005, 11:18)
а как закрыть вкладку?



Уничтожаешь все объекты на вкладке



Цитата(miksayer @ 5.8.2005, 11:18)
и куда лучше записывать информацию о том, что юзер изменил файл?



Я в примере использовал tag вкладки для хранения указателя на memo. Есть 2 другие пути:

1. В таg делаем указатель на структуру куда пишем всю необходимую инфу:

Код

Type TMyStr=
  memo:TMemo;
  filename:shortstring;
  waschanged:boolean;
  ...
  End;

  TMyStr=^TMyStr;          

...
на новой вкладке - создаём структуру, присваемаем указатель на неё свойству Tag и уже через неё работаем.

Вариант более академический и удобный для навороченных страниц. Создаём наследник TTabSheet с всеми компонентами на нём, с свойствами которые будут хранить всю нужную инфу. Далее создаём страницу уже не типа TTAbsheet, а своего типа - тогда на ней сразу доступны все нужные свойства


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
miksayer
Дата 5.8.2005, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 21.11.2004

Репутация: нет
Всего: 1



спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.2766 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.