fundo preto e branco
alguem possui alguma rotima que ao abrir uma dela em showmodal deixa o fundo em preto e branco como ao do desligamento do Windows XP.
Joni
Curtidas 0
Respostas
Rômulo Barros
11/03/2005
[b:5487e65a3f][u:5487e65a3f]Evento OnPaint do form:[/u:5487e65a3f][/b:5487e65a3f]
[u:5487e65a3f][b:5487e65a3f]Evento OnResize do form:[/b:5487e65a3f][/u:5487e65a3f]
procedure TForm1.FormPaint(Sender: TObject);
var
altura, coluna: Word;
begin
altura := (ClientHeight + 255) div 256;
for coluna := 0 to 255 do
with Canvas do
begin
Brush.Color := RGB(coluna, 0, 0); { Modifique para obter cores diferentes }
FillRect(Rect(0, coluna * altura, ClientWidth, (coluna + 1) * altura)) ;
end;
end;[u:5487e65a3f][b:5487e65a3f]Evento OnResize do form:[/b:5487e65a3f][/u:5487e65a3f]
procedure TForm1.FormResize(Sender: TObject); begin Invalidate; end;
GOSTEI 0
Marcelo Saviski
11/03/2005
Ou vc poderia copiar o desktop para um Bitmap, abrir um form que ocupasse toda a tela, ir diminuindo o brilho ou contraste da imagem, pintar no form que ocupa a tela toda, e exibir o modal na frente desse.
...
Inicializa:
var DeskTop: TBitmap;
...
Inicializa:
DeskTop := TBitmap.Create; Desktop.HandleType := bmDDB; Desktop.PixelFormat := pf24bit; DeskTop.Width := Screen.Width; DeskTop.Height := Screen.Height;
var DC: HDC; begin DC := GetDC(GetDeskTopWindow); try BitBlt(FDeskTop.Canvas.Handle, 0, 0, Width, Height, DC, 0, 0, SRCCOPY); finally ReleaseDC(GetDeskTopWindow, DC); end; //Aqui vc deve alterar o Bitmap DeskTop, no fórum vc acha funçãoes para isso FormulariodeFundo.Brush.Bitmap := DeskTop; FormulariodeFundo.Repaint; end;
GOSTEI 0