AGB  ·  Datenschutz  ·  Impressum  







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

Combobox - Farbe des "Buttons" ändern

Ein Thema von 100nF · begonnen am 9. Dez 2005 · letzter Beitrag vom 3. Okt 2006
Antwort Antwort
Seite 1 von 2  1 2      
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#1

Combobox - Farbe des "Buttons" ändern

  Alt 9. Dez 2005, 11:46
hallo zusammen,

ich habe bei meinem programm nun ein ganz neues design. das einzige was jetzt nicht mehr zum design passt, sind die comboboxen.
ich möchte die farbe des combobox-buttons, der sich ja immer rechts befindet und ein dreieck drauf hat, ändern.
ich habe es mal mit einem TRect probiert und dann reingezeichnet, würde auch funktionieren, aber wenn man dann die combobox anklickt, wird das TRect wieder "übermalt" von der combobox.

kann man das auch anders lösen?
oder kennt jemand eine gute komponente bei der man die farbe ändern kann, oder sogar ein image als combobox-button verwenden kann?
nach komponenten habe ich auch schon gesucht, leider habe ich aber nichts brauchbares gefunden...

P.S. falls ihr nicht genau versteht von was ich die farbe ändern will, habe ich im anhang das "ding" rot eingekreist, das ich verändern will.

gruss
urbanbruhin
Miniaturansicht angehängter Grafiken
combobox_987.jpg  
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#2

Re: Combobox - Farbe des "Buttons" ändern

  Alt 10. Dez 2005, 18:01
*push*

hat denn wirklich niemand eine idee?
ich habe lange rumprobiert, aber ich kriegs einfach nicht hin

immer wenn ich auf die combobox klicke, verschwindet das wieder, das ich über combobox1.canvas reingezeichnet habe...

ich wäre wirklich sehr dankbar wenn jemand eine idee hat



P.S. eine anständige komponente wäre natürlich auch sehr gut.

gruss
urbanbruhin
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Combobox - Farbe des "Buttons" ändern

  Alt 10. Dez 2005, 18:04
Hm, fang doch die WM_PAINT-Message ab und zeichne im Messagehandler davon dein Rect neu.
Wenn du ein Beispiel brauchst, rühr dich
Julian J. Pracht
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#4

Re: Combobox - Farbe des "Buttons" ändern

  Alt 10. Dez 2005, 18:24
hallo,

danke für deine antwort

ich habe mal die DP durchsucht, und dann ein bisschen rumprobiert.

wenn ich aber diesen code hier:
Delphi-Quellcode:
private
    procedure WndProc(var Message: TMessage); override;
...
procedure TForm3.WndProc(var Message: TMessage);
begin
  case Message.Msg of
    WM_PAINT:begin

               //paintcombobox;
             end;
  end;
end;
in den quelltext baue, kommt beim starten des programms schon ein zugriffsfehler

ich bin noch sehr unerfahren mit solchen sachen (TMessage, WndProc, WM_PAINT, ...)
ein beispiel wäre darum nicht schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#5

Re: Combobox - Farbe des "Buttons" ändern

  Alt 10. Dez 2005, 18:30
bei dn rx-tools gibt es eine solche komponente bei der man das image auswählen kann
(rx ist glaube ich in die jedis aufgegangen...)
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#6

Re: Combobox - Farbe des "Buttons" ändern

  Alt 10. Dez 2005, 18:36
Zitat von ibp:
bei dn rx-tools gibt es eine solche komponente bei der man das image auswählen kann
(rx ist glaube ich in die jedis aufgegangen...)
danke, ich werde mal die rx-tools suchen...

oder hast du grad ein link?
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#7

Re: Combobox - Farbe des "Buttons" ändern

  Alt 10. Dez 2005, 20:28
Dass das den Fehler löst bezweifle ich, aber der Code den du geschrieben hast gehört nicht in die WndProc des Forms, sondern zur ComboBox.
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#8

Re: Combobox - Farbe des "Buttons" ändern

  Alt 10. Dez 2005, 21:41
und wie kann ich machen dass das ding zur combobox gehört?
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#9

Re: Combobox - Farbe des "Buttons" ändern

  Alt 11. Dez 2005, 10:27
Genauso wie bei dem Form: indem du die WndProc überschreibst. Vorher leitest du dir halt eine eigene Klasse von TCombobox ab.
Delphi-Quellcode:
type TMyCombobox = class(TCombobox)
     protected
       procedure WndProc(var Message: TMessage); override;
     end;
Und im Form müsste es eigentlich reichen, wenn du in der Klassendeklaration (da wo die ganzen Komponenten stehen) TCombobox durch TMyCombobox ersetzt, eventuell auch noch in der .dfm nachsehen.
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#10

Re: Combobox - Farbe des "Buttons" ändern

  Alt 11. Dez 2005, 12:41
irgendwie ist mir das alles ein bisschen zu kompliziert

ich habe jetzt eine komponente gefunden, bei der man die farbe des buttons ändern kann.
sie gefällt mir zwar nicht so sehr, aber ich nehme sie trotzdem...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz