Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thom_delphi

[Resolvido] Botão que ao clicado altera cor do Form?

Recommended Posts

Galera, é o seguinte, tow querendo criar um programa que realize suas funções e que possua um botão que altere a cor de sua interface.

 

exemplo: Eu clico neste botão uma vez e ele altera a cor do form para azul, clico novamente e altera para verde..

 

Alguém tem uma idéia de como eu faria isso? http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

 

Valeu!! Abraços a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente assim:

 

Declare um vetor com as cores e um integer que vai ter a posição atual do vetor

var
	cores : array [0 .. 4] of integer = (clBlue, clGreen, ClRed, ClYellow, clGray);
	cores_posicao: integer = 0;

Depois, no evento onclick do seu botão, coloque o seguinte código

 

procedure TForm1.MeuBotao1Click(Sender: TObject);
begin
	Self.Color := Cores[cores_posicao];
	inc(cores_posicao);
	if (cores_posicao > Length(Cores)) then
 		cores_posicao := 0;
end;

:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, na hora de compilar ele dá um erro na linha:

 

cores : array [0 .. 4] of integer = (clBlue, clGreen, ClRed, ClYellow, clGray);

Ele diz que não esperava encontrar '=' após a declaração do vetor. Ou seja, ele não reconhece '= (clBlue, clGreen, ClRed, ClYellow, clGray)'.

 

Valeu mesmo cara!! abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Declara este vetor na sessao var do seu form e não na sessão var dos eventos ok

 

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm1 = class(TForm)
 private
	{ Private declarations }
 public
	{ Public declarations }
 end;

var
 Form1: TForm1;
 cores : array [0 .. 4] of integer = (clBlue, clGreen, ClRed, ClYellow, clGray);

implementation

{$R *.dfm}

end.


Compartilhar este post


Link para o post
Compartilhar em outros sites

>>> RESOLVIDO <<<

 

Muuito obrigado pela resposta, mas funcionou da seguinte forma:

 

Declaração

var
    cores : array [0 .. 4] of integer;
    cores_posicao: integer;

Evento OnClick do botão de cores

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
cores[0]:=clBtnFace;
cores[1]:=clPurple;
cores[2]:=clMoneyGreen; {carregamento do vetor}
cores[3]:=clNavy;
cores[4]:=clInfoBk;
  Self.Color := Cores[cores_posicao];
        inc(cores_posicao);
        if (cores_posicao > Length(Cores)) then
  cores_posicao := 0;
end;

Valeu galera, abraço a todos que visualizaram o Post e quem respondeu! ;)

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.