Announcement

Collapse
No announcement yet.

Formularkomponenten einfärben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Formularkomponenten einfärben

    Hallo Spezialisten!
    Ich habe keine Probleme, in einer TStringGrid ausgewählte Zeilen und/oder Zellen in einer gewünschten Farbe zu markieren. Es ist mir aber nicht möglich zur Laufzeit TButtons oder Zeilen in einer TCheckListBox ebenso einzufärben.
    Danke für Hilfe.

    Günter

  • #2
    Das liegt daran das TButton auf Windows Buttons basiert, die nur die Systemfarben verwenden

    Comment


    • #3
      Danke für die Erklärung. Aber gibt es keine Alternative zu den Windows Buttons?

      Günte

      Comment


      • #4
        Erst mal musst du dir klarmachen was du haben willst.<br>
        Ein TButton ist eine TWinControl, erbt also die Focus-Verwaltung und die daran haengende Navigation mit Tabulator, Default-Button usw.<br>
        Die andere Button-Klasse (TSpeedButton etc) erbt von TGraphicControl und hat kein eigenes Fenster. Entsprechend fehlt auch die Tastaturbedienung.<br>
        Es gibt viele freie Komponenten die sowohl TWinControl-Button-Abkoemmlinge als auch TGraphicControl-Abkoemmlinge implementieren. Meist geht es genau um bunte Darstellungsalternativen.<br>
        Es bleibt aber die Frage willst du das wirklich haben

        Comment


        • #5
          Ja, ich will Buttons farblich verändern, obwohl es mir nicht um bunte Darstellungsalternativen, sondern um Unterstützung für den Programmanwender geht. Mit TBitBtn funktioniert es für die Schriftfarbe. Wenn du das Ergebnis sehen willst, kann ich die .exe gerne mailen (603 kB)

          Comment


          • #6
            Ein TButton (TBitBtn) ruft in seiner Paint-Methode Standard-Windows-Funktionen auf um sich zu malen. Die Standardfunktionen beruecksichtigen nur die eingestellten Systemfarben von Windows.<br>
            Wenn du andere Farben willst, so musst du einen TButton-Abkoemmling implementieren sprich eine eigene Button-Komponente. Hauptsaechlich wirst du dann dort die Paint-Methode ueberschreiben und den Button selber malen.<br>
            Das ist gar nicht so einfach wie es scheint. Es gilt gedrueckt/nicht gedrueckt, fokussiert/nicht fokussiert, Default-Button/nicht Default-Button zu unterscheiden

            Comment


            • #7
              Vielen Dank für die ausführlichen Erklärungen. Der Aufwand scheint mir in keinem Verhältnis zum Ertrag zu stehen. Für TBitBtn habe ich mit der einfärbbaren Schrift schon einen guten Kompromiss zwischen Wunsch und Realität gefunden. Vielleicht finde ich noch eine vertretbare Lösung für TCheckListBox

              Comment


              • #8
                Es empfiehlt sich nach leistungsfaehigeren Komponenten Ausschau zu halten.<br>
                Fuer die TCheckListBox koennte Der Virtual Treeview von Mike Lischke in Frage kommen http://www.delphi-gems.com/Controls.php<br>
                Da musst du aber erst mal das Konzept lernen und verstehen was der alles kann.<br>
                Ansonsten Torry's Pages oder Delphi Super Page be-suchen

                Comment

                Working...
                X