![]() |
Button Farbe ändern ?
Hi !
Ich programmiere mir gerade einen Gambling Simulator. Wer Gambling kennt, weiß, dass die Buttons 0, 1-6 und 7-14 Farbig sein sollten Aber bei Lazarus kann man die Farbe eines Buttons nicht ändern :/ Einer eine Idee, wie man das sonst umsetzen könnte? Danke :) Simulator: ![]() [/edit] Ich lade jedes mal, wenn der Benutzer ein Bild anklickt, das Bild zum jeweiligen Skin. Das sieht so aus:
Delphi-Quellcode:
Geht das noch irgendwie leichter & schneller?
procedure TShopForm.SkinAnzeigen;
begin if lblPreis.Caption <> '' then lblCoins.Caption := 'Coins'; lblItemName.Caption := Selected; case Selected of 'M9 Bayonet': begin lblPreis.Caption := '121000'; Image1.Picture.LoadFromFile('M9.png'); end; 'M9 Bayonet | Crimson Web': begin lblPreis.Caption := '349000'; Image1.Picture.LoadFromFile('M9 Crimson Web.png'); end; 'M9 Bayonet | Lore': begin lblPreis.Caption := '714000'; Image1.Picture.LoadFromFile('M9 Lore.png'); end; 'M9 Bayonet | Black Laminate': begin lblPreis.Caption := '182000'; Image1.Picture.LoadFromFile('M9 Black Laminate.png'); end; 'M9 Bayonet | Gamma Doppler': begin lblPreis.Caption := '374000'; Image1.Picture.LoadFromFile('M9 Gamma Doppler.png'); end; 'M9 Bayonet | Autotronic': begin lblPreis.Caption := '340000'; Image1.Picture.LoadFromFile('M9 Autotronic.png'); end; 'M9 Bayonet | Bright Water': begin lblPreis.Caption := '145000'; Image1.Picture.LoadFromFile('M9 Bright Water.png'); end; 'M9 Bayonet | Freehand': begin lblPreis.Caption := '221000'; Image1.Picture.LoadFromFile('M9 Freehand.png'); end; 'M9 Bayonet | Damascus Steel': begin lblPreis.Caption := '127000'; Image1.Picture.LoadFromFile('M9 Damascus Steel.png'); end; 'M9 Bayonet | Doppler': begin lblPreis.Caption := '223000'; Image1.Picture.LoadFromFile('M9 Doppler.png'); end; 'M9 Bayonet | Marble Fade': begin lblPreis.Caption := '338000'; Image1.Picture.LoadFromFile('M9 Marble Fade.png'); end; 'M9 Bayonet | Tiger Tooth': begin lblPreis.Caption := '272000'; Image1.Picture.LoadFromFile('M9 Tiger Tooth.png'); end; 'M9 Bayonet | Rust Coat': begin lblPreis.Caption := '93000'; Image1.Picture.LoadFromFile('M9 Rust Coat.png'); end; 'M9 Bayonet | Ultraviolet': begin lblPreis.Caption := '802000'; Image1.Picture.LoadFromFile('M9 Ultraviolet.png'); end; 'M9 Bayonet | Blue Steel': begin lblPreis.Caption := '179000'; Image1.Picture.LoadFromFile('M9 Blue Steel.png'); end; 'M9 Bayonet | Boreal Forest': begin lblPreis.Caption := '321000'; Image1.Picture.LoadFromFile('M9 Boreal Forest.png'); end; 'M9 Bayonet | Case Hardened': begin lblPreis.Caption := '223000'; Image1.Picture.LoadFromFile('M9 Case Hardened.png'); end; 'M9 Bayonet | Fade': begin lblPreis.Caption := '222000'; Image1.Picture.LoadFromFile('M9 Fade.png'); end; 'M9 Bayonet | Forest DDPAT': begin lblPreis.Caption := '290000'; Image1.Picture.LoadFromFile('M9 Forest DDPAT.png'); end; 'M9 Bayonet | Night': begin lblPreis.Caption := '165000'; Image1.Picture.LoadFromFile('M9 Night.png'); end; 'M9 Bayonet | Safari Mesh': begin lblPreis.Caption := '128000'; Image1.Picture.LoadFromFile('M9 Safari Mesh.png'); end; 'M9 Bayonet | Scorched': begin lblPreis.Caption := '177000'; Image1.Picture.LoadFromFile('M9 Scorched.png'); end; 'M9 Bayonet | Slaughter': begin lblPreis.Caption := '268000'; Image1.Picture.LoadFromFile('M9 Slaughter.png'); end; 'M9 Bayonet | Stained': begin lblPreis.Caption := '169000'; Image1.Picture.LoadFromFile('M9 Stained.png'); end; 'M9 Bayonet | Urban Masked': begin lblPreis.Caption := '87000'; Image1.Picture.LoadFromFile('M9 Urban Masked.png'); end; end; end; Danke :) |
AW: Button Farbe ändern ?
|
AW: Button Farbe ändern ?
Hallo Hoika,
ich verstehe da nicht ganz, was du mir damit sagen willst. |
AW: Button Farbe ändern ?
Zitat:
|
AW: Button Farbe ändern ?
Oder Skins verwenden (da werden die Buttons dann nicht von Windows gezeichnet, aber man muß die Farbe über die Skin-Komponente steuern, bzw. einen anderen Skin auswählen)
Oder man schaltet das Theming für diese Button-Instanz aus, dann wird der Button im schönen "alten" Win9x-Style gezeichnet, wo der Button noch auf die Color hört. |
AW: Button Farbe ändern ?
Zitat:
|
AW: Button Farbe ändern ?
Winproc überschreiben..
WinHandle = Handle des Button wp = DC des Button wird von Windows übergeben. clRed = Der Button ist dann Rot
Delphi-Quellcode:
gruss
var
brush: HBrush; case Msg of WM_CTLCOLORBTN: begin Color := clRed; SetBkMode(wp, TRANSPARENT); SetBkColor(wp, Color); if (brush <> 0) then DeleteObject(brush); brush := CreateSolidBrush(Color); SetProp(WinHandle, 'brush', brush); Result := brush; Exit; end; end; |
AW: Button Farbe ändern ?
Zitat:
Ich hätte eventuell erwähnen sollen, dass ich ein noch ein Anfänger bin. Also erstmal ein paar Fragen: 1. Wo soll ich den Code bitte einfügen :D 2. Ich hab den Code mal ins FormCreate eingefügt. Es gab lauter Errors. 3. Was ist msg :o |
AW: Button Farbe ändern ?
Zitat:
Such doch einfach mal im Forum wie man eine Winproc überschreibt. Einfach einfügen geht so nicht. gruss |
AW: Button Farbe ändern ?
Ich geb's einfach auf ^^
Trotzdem danke für die Hilfe :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz