Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 12.12.2012, 20:48   #1
Shouldercannon
ПрофессионалФорумчанин
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Адрес: Москва
Сообщений: 1,805
Репутация: 242

icq: 473732523
Вопрос Закрытие вкладок TabControl

Моя реализация
Код:
procedure TForm1.BCloseClick(Sender: TObject);
var
  i: Integer;
begin
  if TabControl1.Tabs.Count > 1 then // Если Tabs больше одного
  begin
    i := TabControl1.TabIndex - 1; // Задаём индекс следуюшего Tab справа налево
    TabControl1.Tabs.Delete(TabControl1.TabIndex);
    TabControl1.TabIndex := i; // Переходим на следующий Tab
  end
  else
  begin
    TabControl1.Tabs.Delete(TabControl1.TabIndex);
    Close;
  end;
end;
Но есть один минус - вкладки нормально удаляются при раскладе 5-4-3-2-1, но если начать удалять так: 3-2-1, то после удаления остаются вкладки 4 и 5, и нет активных вкладок, вследствии чего появляется ошибка Failed to delete tab at index -1. С TabControl работаю первый раз и не могу сообразить как в данном случае реализовать переключение на первую вкладку при потере активной вкладки.
Shouldercannon вне форума   Ответить с цитированием
Старый 12.12.2012, 21:04   #2
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,915
Репутация: 6688
По умолчанию

Код:
i := TabControl1.TabIndex - 1;
if i<0 then i:=0;
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 12.12.2012, 21:09   #3
FaTaL
Профессионал
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,728
Репутация: 458
По умолчанию

А ты удаляй с последней вот так например:
Код:
TabControl1.Tabs.Delete(TabControl1.Tabs.Count -1);
FaTaL вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WPF:ориентация вкладок в компоненте TabControl Mixim WPF, UWP, WinRT, XAML 1 22.05.2012 11:07
TabControl Serebah Общие вопросы Delphi 5 28.12.2011 15:51
Переключение вкладок на TabControl программно Casper-SC Общие вопросы .NET 4 20.10.2011 14:00
TabControl vipbobik C++ Builder 0 20.05.2011 17:36


16:43.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.