Olá, hoje vou ensinar algo não muito útil mas é legal de sacanear os outros. Vou mostrar como fazer seu formulário no delphi ficar cada vez mais transparente até ficar completamente invisível apartir da quantidade digitada em um Tedit.
1º - Crie um novo projeto;
2º - Adicione um Tedit;
3º - No fomulário, altere a propriedade AlphaBlend para True;
4º - Note que abaixo da propriedade AlphaBlend possui a propriedade AlphaBlendValue com valor 255 ou seja, esta visível. Cada vez que diminuímos esse valor, o formulário começa a ficar transparente e inviível quando o valor chega a 0 (zero).
5º - Então, no evento OnKeyPress do Tedit adicione o seguinte código:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Form1.AlphaBlendValue) > 0 then
begin
if Form1.AlphaBlendValue <= 10 then
form1.AlphaBlendValue := 0
else
Form1.AlphaBlendValue := form1.AlphaBlendValue - 10;
end;
end;
begin
if (Form1.AlphaBlendValue) > 0 then
begin
if Form1.AlphaBlendValue <= 10 then
form1.AlphaBlendValue := 0
else
Form1.AlphaBlendValue := form1.AlphaBlendValue - 10;
end;
end;
Notem que fiz uma validação de AlphaBlendValue <= 10 para setando valor 0 se esta condição for verdadeira para que não retorne para 255 esse valor, pois se o valor for menor que 0 ele volta pra 255.
6º - Aí, é só rodar o projeto e ver como fica legal. Você pode utilizar esta propriedade para várias coisas, mas essa achei bem interessante e prática de se mostrar.
Até o próximo artigo! valeu a todos que leram até aqui.
Código fonte completo:
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Form1.AlphaBlendValue) > 0 then
begin
if Form1.AlphaBlendValue <= 10 then
form1.AlphaBlendValue := 0
else
Form1.AlphaBlendValue := form1.AlphaBlendValue - 10;
end;
end;
end.
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Form1.AlphaBlendValue) > 0 then
begin
if Form1.AlphaBlendValue <= 10 then
form1.AlphaBlendValue := 0
else
Form1.AlphaBlendValue := form1.AlphaBlendValue - 10;
end;
end;
end.
Imagem para exemplificar melhor:
Nenhum comentário:
Postar um comentário