Перейти к содержанию
Fire Monkey от А до Я
  • 0

Создание и удаление вкладок в TabControl


Aden1985

Вопрос

Подскажите пожалуйста как правильно создать вкладки в TTabControl 
и как потом удалять определенные вкладки.
Создаю TTabControl, применяю стиль с крестиком в верхнем правом углу.
Можно ли как-то получить индекс вкладки при наведении мыши.

procedure TfrMain.SpeedButton2Click(Sender: TObject);
begin
  with TTabItem.Create(TabControl1) do
  begin
    Parent := TabControl1;
    Text := 'NewTab'+IntToStr(NumTab);
    StyleLookup := 'TabItem1Style1';
    StylesData['btnClose.OnClick'] := TValue.From<TNotifyEvent>(TabClose);
    NumTab:=NumTab+1;
  end;
end;

procedure TfrMain.TabClose(Sender: TObject);
var
  _activetab : Integer;
begin
  _activetab:=TabControl1.TabIndex;
  TabControl1.Delete(_activetab);
end;

В данном случае работает только если сделать вкладку активной.

 

 

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

В RAD Studio 11.2 обнаружилась интересная особенность. Если закрывать вкладку таким образом, то форма, похоже, теряет фокус ввода.:(

Ее не получается ни переместить, ни свернуть/развернуть, ни закрыть, ни размеры поменять. Такое поведение продолжается до тех пор, пока пользователь не кликнет мышью на каком-либо объекте на форме. Никакие SetFocus, ActiveControl:=True и т.п. не помогают. Объект фокус ввода исправно получает, но мышь форма не видит.

Пробовал под VCL, такой проблемы нет. Похоже, это особенность FMX.:(

Может кто еще с этим сталкивался, подскажите, как бороться?

Ссылка на комментарий
  • 0

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

 

procedure TfrMain.TabClose(Sender: TObject);
var
  activetab : Integer;
begin
  activetab:=((Sender as TControl).Parent as TControl).Parent.Index;
  Thread.ForceQueue(nil, procedure
    begin 
	  TabControl1.Delete(activetab);
    end);
end;

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...