Diskuze: Vytvoření tlačitka při startu programu.
Člen
Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Tak to ja nezjistíl aní, jak změnit barvu pozadí buttonu, když ho přidam nornalně
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.
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'
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
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).
Zobrazeno 7 zpráv z 7.