AlphaBlend define se a propriedade estará ativada e AlphaBlendValue define o nível de opacidade que se deseja usar.
Vamos criar uma aplicação de teste. Abra o Delphi e crie uma nova aplicação.
Agora adicione um novo formulário e
Ative a propriedade AlphaBlend e coloque 200 na propriedade AlphaBlendValue.
Mude a cor de fundo do formulário para clBlack.
Retire as bordas do formulário na propriedade BorderStyle colocando bsNone.
Em Positition coloque poOwnerFormCenter.
e WidowsState deixe como wsMaximized.
Adicione uma propriedade do tipo Form ao formulário:
type TFrmDestaque = class(TForm) procedure FormActivate(Sender: TObject); private { Private declarations } public { Public declarations } Formulario: TForm; end;
No evento OnActivate digite o código:
procedure TFrmDestaque.FormActivate(Sender: TObject); begin Formulario.ShowModal; PostMessage(Handle, WM_CLOSE, 0, 0);//Fecha o formulário end;
Salve o formulário com o nome de FrmDestaque.
Crie um terceiro formulário como abaixo e salve como FrmDialogo:
Não esqueça de retirar os formulário da opção de autocreate do Delphi:
Agora no formulário principal adicione a função:
procedure DestacarForm(frmOwner ,frmDestaque :TForm ); var frmTransparente : TFrmDestaque; begin frmTransparente := TFrmDestaque.Create(nil); try frmTransparente.ClientHeight := frmOwner.ClientHeight; frmTransparente.ClientWidth := frmOwner.ClientWidth; frmTransparente.Formulario := frmDestaque; frmTransparente.ShowModal; frmTransparente.Formulario := nil; finally frmTransparente.Free; end; end;
Coloque um botão e no Onclick chame a função destaque:
procedure TFrmPrincipal.btn1Click(Sender: TObject); begin frmDialogo := TFrmDialogo.Create(self); try DestacarForm(Self,frmDialogo); finally frmDialogo.Free; end; end;
Execute a aplicação e click no botão:
Agora é só chamar a função "DestacarForm" para qualquer formulário que você deseja destacar.