Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2598 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa Tarde!

Estou iniciando um novo projeto com o componente TDI, criado pelo Daniel Simões (alias Muito Bom). Porém gostaria de definir a cor do formulario , fontes  para (TEdit,TLabel,TDBEdit,etc), cor do focos dos formulários criados nas abas.
No meu projeto atual tenho uma unit que faz isto tranquilo é só eu colocar o comando  no FormCreate e tudo roda tranquilo : Screen.OnActiveControlChange:= @ControleDeCor.AjustaCores;

Porém no TDI não está funcionando. Imagino que não funciona porque o componente recriar os formulários para as abas.Já fiz de tudo e nada por isto se alguém puder me ajudar ou dar um dica ficaria muito grato?

  • Fundadores
Postado

Seu código não funcionará... porque Screen.ActiveForm sempre será o Form Principal (e não o Form dentro do TDI)

Tente a seguinte modificação, em anexo...

  ControleAtual := Screen.ActiveControl;
  FormAtual := FindFormParent(ControleAtual);

  if (not Assigned(ControleAtual)) or (not Assigned(FormAtual)) then
    Exit;


function TControledecor.FindFormParent(AControl: TControl): TCustomForm;
var
  AParent: TControl;
begin
  Result := Nil;
  if not Assigned(AControl) then
    Exit;

  AParent := AControl.Parent;
  while Assigned(AParent) and not Assigned(Result) do
  begin
    if (AParent is TCustomForm) then
      Result := TCustomForm(AParent)
    else
      AParent := AParent.Parent;
  end;
end;

 

ulcontroledecor.pas

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Este tópico foi criado há 2598 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.