Delphi-TDI é uma classe que você pode usar para criar projetos onde os formulários são abertos em abas, assim como nos navegadores mais modernos.
Neste projeto você vai encontrar a classe TTDI
, esta classe encapsula todo o código necessário para você, abrir em abas, os formulários do seu projeto, esteja ele sendo desenvolvido ou já funcionando há algum tempo.
Não. Nenhuma instalação precisa ser feita.
- Baixe a última versão da classe TTDI aqui ou clone este repositório com
git clone https://github.com/stavarengo/delphi-tdi.git
. - Adicione a unit TDI.pas no seu projeto.
- Pronto! Agora é só começar a usar.
Abaixo segue uma lista dos métodos e propriedades publicas da classe, bem como uma explicação sobre cada um.
-
procedure MostrarFormulario(Classe: TFormClass; Multi: Boolean);
Abre um formulário (parâmetroClasse
) em uma aba. O formulário será aberto em uma nova aba se o parâmetroMulti
forTrue
. CasoMulti
sejaFalse
, então a aba já existente será exibida para o usuário. -
procedure Fechar(Todas: Boolean);
Quando o parâmetroTodas
forTrue
, todas as abas serão fechadas, caso contrário somente a aba atual será fechada. -
FormPadrao: TFormClass;
FormPadrao
é o formulário que será exibido sempre que todas as abas forem fechadas. Atribuirnil
a esta propriedade fará com que nenhum formulário seja exibido ao fechar todas as abas: -
MostrarMenuPopup: Boolean;
Quando True mostra o menu popup com as opções "Fechar" e "Fechar todas" quando o usuário clica com o botão auxiliar do mouse sobre uma das abas abertas: -
PageControl: TPageControl;
Propriedade que permite o acesso aoTPageControl
onde as abas (TTabSheets
) estão sendo exibidas.
- Como saber se existe formulários abertos dentro das abas controladas pela classe TTDI?
Você pode fazer está verificação de várias formas diferentes. Uma das opções é verificar o PageCount
do atributo PageControl
. Supondo que você criou uma instância da TTDI usando uma variável chamada vTdi
, faça o seguinte:
if vTdi.PageControl.PageCount then
begin
// tem algum formulário aberto
end;