NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Bimbo
Člen
Avatar
Bimbo:2.7.2016 0:04

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.7.2016 0:04
Avatar
Martin Dráb
Tvůrce
Avatar
Nahoru Odpovědět
2.7.2016 0:27
2 + 2 = 5 for extremely large values of 2
Avatar
Bimbo
Člen
Avatar
Odpovídá na Martin Dráb
Bimbo:2.7.2016 21:37

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

 
Nahoru Odpovědět
2.7.2016 21:37
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Bimbo
Martin Dráb:2.7.2016 21:45
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.7.2016 21:45
2 + 2 = 5 for extremely large values of 2
Avatar
Bimbo
Člen
Avatar
Odpovídá na Martin Dráb
Bimbo:3.7.2016 7:20

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.7.2016 7:20
Avatar
Bimbo
Člen
Avatar
Odpovídá na Bimbo
Bimbo:3.7.2016 7:31

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.7.2016 7:32
 
Nahoru Odpovědět
3.7.2016 7:31
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Bimbo
Martin Dráb:3.7.2016 8:50

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.7.2016 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.