Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание закладок, при отрытии и создании файла 
V
    Опции темы
s1lver
Дата 29.1.2008, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



На форме есть закладка, нужно чтобы при открытии и создании нового файла, создавалась новая вкладка. Подскажи что использовать и как... очень нужно smile 


--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
mrbrooks
Дата 29.1.2008, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



имхо в помощь тебе TTabControl или TPageControl с вкладки Win32 - ну а дальше рученками все  smile 
PM MAIL   Вверх
artsb
Дата 29.1.2008, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Не понял что за закладка.
Если речь идёт о TabControl, то:
Код

TabControl1->Tabs->Add("New");




--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
chip_and_dayl
Дата 29.1.2008, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

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



Если работаешь с TabControl, то это делаеться так:
TabControl1->Tabs.Add("название закладки");
А вот как для PageControl уже забылsmile


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
artsb
Дата 29.1.2008, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Для PageControl:
Код

    TTabSheet *pPage = new TTabSheet(PageControl1);
    pPage->PageControl = PageControl1;
    pPage->Caption = AnsiString("new");
    pPage->Name = AnsiString("ts") + pPage->Caption;



--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
s1lver
Дата 30.1.2008, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Cпасибо, я вообще подумал о TabbedNotebook, буду пробовать

А в чем отличие TTabControl и TPageControl ?

Вообщем тут возник вопрос как прикрутить  к нему другие элементы к примеру Memo.
Вот пишу для открытия:

Код

if (OpenDialog1->Execute()) Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
TabControl1->Tabs->Add(OpenDialog1->FileName); 
StatusBar1->Panels->Items[0]->Text=OpenDialog1->FileName;


все компилиться на ура, но зато при открытии нового файла в другой вкладке текст меняется везде.

Мне надо похоже как-то так:
Код


{
            case 0:
                Memo1->Text= "";
                break;

подсобите чем можете....


Это сообщение отредактировал(а) s1lver - 30.1.2008, 22:02


--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
artsb
Дата 30.1.2008, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Ели нужно, чтобы на каждой вкладке свой мемо с текстом был, то как-то так:
Код

TMemo* mem=new TMemo(Form1);
mem->Parent=this;
mem->Name="memo";
mem->Show();

И подгоняешь размеры мемо. Делаешь какие тебе нужны. Также учти, что имена у вех мемо должны быть разные.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
s1lver
Дата 30.1.2008, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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





Не, всетаки лучше TPageControl.

Как удалить правильно открытую вкладку? Пробую так:
Код

delete PageControl1->ActivePage;


Что-то не совсем получается.

Цитата

Ели нужно, чтобы на каждой вкладке свой мемо с текстом был, то как-то так:


брр.. а как мне это запихнуть в открытие файла? 

Это сообщение отредактировал(а) s1lver - 30.1.2008, 22:52


--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
artsb
Дата 30.1.2008, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Цитата(s1lver @  30.1.2008,  22:48 Найти цитируемый пост)
брр.. а как мне это запихнуть в открытие файла? 

Создаёшь мемо. Создаёшь новую вкладку. Суёшь туда мемо. Загружаешь текст из файла в мемо.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
s1lver
Дата 30.1.2008, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот так?

Код

PageControl1->ActivePage = tabSheet;
    delete memo1;
    memo1 = new TMemo(this);
    memo1->Parent = tabSheet;                                      
    memo1->Align = alClient;
    memo1->ScrollBars = ssBoth;
    memo1->Lines->LoadFromFile(fileName);



--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
artsb
Дата 31.1.2008, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Сделал пример. Держи:


Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  example_tabs.rar 30,57 Kb


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
s1lver
Дата 1.2.2008, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Спасибо smile 


--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
s1lver
Дата 2.2.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А как теперь мне выполнить команды сохранения(и другие команды с текстовым полем) теперь ведь  по сути этого компонента на форме нет....


--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
artsb
Дата 2.2.2008, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Пример:


Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  example_tabs.rar 27,89 Kb


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
artsb
Дата 5.2.2008, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Попробовал сделать кнопку закрытия для вкладок прямо на самой вкладке. Всё получилось. Но обнаружил один баг:
У меня позиция кнопки изменяется при возникновении события OnChange у PageControl. Если свойство MultiLine=false, то когда вкладок становится много - появляются кнопки для скролинга. При скролинге не возникает никакого события и следовательно перемещение кнопки не происходит. Решил проблему тупо - с помощью таймера. Он постоянно обновляет позицию кнопки.
Но хочется узнать, есть ли ещё какие-нибудь варианты? А то таймер как ни как грузит систему.


Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  example_tabs.rar 31,59 Kb


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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