Avatar
Bimbo
Člen
Avatar
Bimbo:

Zdravim.
Jak vytvořit button při spouštění programu je na netu spoustu přikladu.
Zajimalo by mně, když vytvořím button ve FormCreate.
Zda mu pujde třeba v timeru pozdějí změnit barvu?

 
Odpovědět 2. července 0:04
Avatar
Martin Dráb
Redaktor
Avatar
Nahoru Odpovědět 2. července 0:27
2 + 2 = 5 for extremely large values of 2
Avatar
Bimbo
Člen
Avatar
Odpovídá na Martin Dráb
Bimbo:

Tak to ja nezjistíl aní, jak změnit barvu pozadí buttonu, když ho přidam nornalně ;-)

 
Nahoru Odpovědět 2. července 21:37
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Bimbo
Martin Dráb:
var
  b : TButton;
begin
 . . .
b.Color := clRead;
end;

Případně si ulož tu instanci TButton, kterou sis vytvořil, do atributu tvého formuláře (pod Private nebo Public, abys nepletl hlavu GUI designeru). Pak k ní můžeš přistupovat prakticky kdykoliv.

Nahoru Odpovědět 2. července 21:45
2 + 2 = 5 for extremely large values of 2
Avatar
Bimbo
Člen
Avatar
Odpovídá na Martin Dráb
Bimbo:

Toto jsem už zkoušel.

procedure TForm1.FormCreate(Sender: TObject);
var
B: TButton;
begin
 B := TButton.Create(Self);
 B.Caption := 'Button';
 B.Parent := Self;
 B.Height := 23;
 B.Width := 100;
 B.Left := 10;
 B.Top := 100;
 b.Color := clGreen;
end;

[DCC Error] Unit1.pas(70): E2362 Cannot access protected symbol TControl.Color
[DCC Fatal Error] Project.dpr(5): F2063 Could not compile used unit 'Unit1.pas'

 
Nahoru Odpovědět 3. července 7:20
Avatar
Bimbo
Člen
Avatar
Odpovídá na Bimbo
Bimbo:

Mi jde o to, když takto pomocí smyčky for vytvořím třeba 5 buttonu.
Abych pozdějí mohl každemu změnít barvu.
Při vytvaření buttonu není přesně znamo, kolik jich bude, zaleží na programu.

Použivam XE2

Editováno 3. července 7:32
 
Nahoru Odpovědět 3. července 7:31
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Bimbo
Martin Dráb:

Nojo, máš pravdu. Zajímavé, že jsem na toto nikdy nenarazil :-)

http://stackoverflow.com/…r-of-tbutton

Ve zkratce: TButton je lehký wrapper kolem prvku BUTTON z Win32 API, takže přímo nepodporuje změny barvy pozadí (ta položka Color je tam jen kvůli dědičnosti z TControl). Pokud chceš barevný TButton, je třeba si jej vykreslovat tak trochu sám (je tam link na TCOlorButton, který by to měl dělat).

Nahoru Odpovědět 3. července 8:50
2 + 2 = 5 for extremely large values of 2
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.