AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Button Farbe ändern ?

Ein Thema von Cookienation · begonnen am 11. Okt 2016 · letzter Beitrag vom 11. Okt 2016
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Button Farbe ändern ?

  Alt 11. Okt 2016, 12:09
Hallo,

http://bugs.freepascal.org/view.php?id=9285
Heiko
  Mit Zitat antworten Zitat
Cookienation

Registriert seit: 11. Okt 2016
5 Beiträge
 
#2

AW: Button Farbe ändern ?

  Alt 11. Okt 2016, 12:12
Hallo Hoika,

ich verstehe da nicht ganz, was du mir damit sagen willst.
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Button Farbe ändern ?

  Alt 11. Okt 2016, 12:32
Hallo Hoika,

ich verstehe da nicht ganz, was du mir damit sagen willst.
Er will damit sagen, dass bereits ein Bug im BugTracker eingestellt wurde. Allerdings ist es bei Windows so, dass die Buttons von Windows selbst gezeichnet werden und deshalb die Änderung der Color Eigenschaft keine Auswirkung hat. Alles was du tun kannst wäre, dass du dir entweder irgendwo einen anderen TColorButton o.ä. suchst oder dir selbst eine Button Komponente entwickelst.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#4

AW: Button Farbe ändern ?

  Alt 11. Okt 2016, 12:56
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.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Cookienation

Registriert seit: 11. Okt 2016
5 Beiträge
 
#5

AW: Button Farbe ändern ?

  Alt 11. Okt 2016, 13:09
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.
Wie genau geht das ? :S
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Button Farbe ändern ?

  Alt 11. Okt 2016, 13:26
Winproc überschreiben..
WinHandle = Handle des Button
wp = DC des Button wird von Windows übergeben.
clRed = Der Button ist dann Rot

Delphi-Quellcode:
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;
gruss
  Mit Zitat antworten Zitat
Cookienation

Registriert seit: 11. Okt 2016
5 Beiträge
 
#7

AW: Button Farbe ändern ?

  Alt 11. Okt 2016, 13:32
Winproc überschreiben..
WinHandle = Handle des Button
wp = DC des Button wird von Windows übergeben.
clRed = Der Button ist dann Rot

Delphi-Quellcode:
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;
gruss



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
2. Ich hab den Code mal ins FormCreate eingefügt. Es gab lauter Errors.
3. Was ist msg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:42 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