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.









0 comentários:
Postar um comentário