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âmetroMultiforTrue. CasoMultisejaFalse, então a aba já existente será exibida para o usuário. -
procedure Fechar(Todas: Boolean);Quando o parâmetroTodasforTrue, 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. Atribuirnila 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 aoTPageControlonde 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;