none
MFC Dialog Processbar Farbe RRS feed

  • Frage

  • Ich möchte gern die Farbe der Processbars in meinem Dialog ändern, in blau. ich habe es mit

    m_Processbar.SetBarColor(RGB(0, 0, 255));

    probiert aber so funktioniert es nur im klassischen Windows-Design. Wie kann ich das unter Windows 7 Aero machen??


    VisualCPlusPlus
    Samstag, 22. Januar 2011 14:14

Antworten

Alle Antworten

  • IMHO gar nicht. Mit Manifest sind bestimmte Farben festgelegt. Das gilt auch für den Progressbar.

    Dir bleibt vermutlich hier nur Ownerdraw.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Samstag, 22. Januar 2011 14:42
    Moderator
  • Wie kann ich das mit Ovnerdraw machen, wenn mir nichts anderes bleibt?

    VisualCPlusPlus
    Samstag, 22. Januar 2011 15:00
  • Martin hat mit der Feststellung recht. Das Aussehen der Progressbar bei aktiven Styles is in der entsprechenden Uxtheme DLL als Bitmap hinterlegt. In Windows 7 wird sogar noch der bewegende "Glow" drübergelegt.

    Bevor Du selber was schreibst, vielleicht wären ja diese beiden schon bestehenden Klassen was für Dich:

    http://www.codeproject.com/KB/cpp/XpProgressBar.aspx

    http://www.codeproject.com/KB/miscctrl/cskinprogress.aspx

    • Als Antwort markiert KK Senior Samstag, 22. Januar 2011 16:50
    Samstag, 22. Januar 2011 16:24
  • Da Custom Draw nicht zur Verfügung steht wirst Du wohl einfach das Control überschreiben müssen und WM_PAINT behandeln.

    Eigentlich kannst Du dann auch ein eigenes Control erzeugen.

    BTW. Die neue MFC hat zum Beispiel auch einen Progressbar für die Statuszeile.
    Schau Dir an wie das in OnDrawStatusBarProgress implementiert ist.

    Und CMFCRibbonProgressBar gibt es auch noch. Allerdings habe ich die noch nie benutzt. Aber auch hier findet sich Code um sowas selbst zu zeichnen.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Samstag, 22. Januar 2011 16:28
    Moderator
  • Naja gut das 2. Projekt von Bordon hat mir schoneinmal gezeigt wie das geht, aber da ich Malerisch nicht so begabt bin bleib ich lieber bei den grünen Progressbars.
    VisualCPlusPlus
    Samstag, 22. Januar 2011 16:50