www.mikrocontroller.net

Forum: PC-Programmierung Progressbar färben


Autor: Hans (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hab ein problem: kann die Progressbar nicht färben. Mein code scheint in 
ordnung zu sein:
BOOL CTestprogrammDlg::OnInitDialog()
{
  CDialog::OnInitDialog();
  
  // Symbol für dieses Dialogfeld festlegen. Wird automatisch erledigt
  //  wenn das Hauptfenster der Anwendung kein Dialogfeld ist
  SetIcon(m_hIcon, TRUE);      // Großes Symbol verwenden
  SetIcon(m_hIcon, FALSE);    // Kleines Symbol verwenden

  // TODO: Hier zusätzliche Initialisierung einfügen
  m_ProgressRed.SetRange(0, 100);
  m_ProgressGreen.SetRange(0,100);
  m_ProgressBlue.SetRange(0,100);
  m_ProgressRed.SetStep(1);
  m_ProgressGreen.SetStep(1);
  m_ProgressBlue.SetStep(1);

  m_ProgressBlue.SetBkColor(RGB(0, 0, 200));
  m_ProgressBlue.SendMessage(PBM_SETBARCOLOR, 0 , RGB(255, 255, 255));



  
  return TRUE;  // Geben Sie TRUE zurück, außer ein Steuerelement 
}

aber es hat kein effekt.
beim ausführen ist die Progressbar wie "default" gezeichnet: siehe bild 
im angang

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
a) Die Hintergrundfarbe wird mit PBM_SETBKCOLOR gesetzt

b) Tip: Setze den Stil PBS_SMOOTH, um eine durchgehende Anzeige zu 
bekommen.

c) Luna abschalten.

Laut Dokumentation auf
http://msdn2.microsoft.com/en-us/library/ms670350.aspx
funktioniert das nur in der "Windows-für-Erwachsene"-Betriebsart:

  This function only affects the classic mode and not any visual style.

Abhilfe schafft hier wohl nur ein Owner-Draw-Control.

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Tip: Setze den Stil PBS_SMOOTH, um eine durchgehende Anzeige zu
>bekommen.

wie? mittels myProcessbar.SendMessage() ?

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie kann ich den XP Style ausschalten und z.b Processbar auf Continuos 
umstellen?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Resource-Editor kannst Du das entsprechende Stilbit setzen.

Bei MSVC6 ist das Rechtsklick-auf-Control, "Properties", und dann den 
Karteireiter [Styles] auswählen. Da ein Häkchen vor "smooth" setzen.

Den XP-Style deaktivierst Du global, indem Du Deinem Windows Luna 
austreibst. Das ist keine Programmierangelegenheit, sondern eine 
Windows-Konfiguration. "Windows Klassisch" auswählen und den dann 
nutzlosen Dienst "Designs" deaktivieren.

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Den XP-Style deaktivierst Du global, indem Du Deinem Windows Luna
> austreibst. Das ist keine Programmierangelegenheit, sondern eine
> Windows-Konfiguration. "Windows Klassisch" auswählen und den dann
> nutzlosen Dienst "Designs" deaktivieren.

Jein, wenn im App-Manifest auf ComCtl32.dll V6 verwiesen wird, kann man 
es entweder per Hand 
(Explorer->{Programm}->Eigenschaften->Kompatibilität->Visuelle Designs 
deaktivieren)
oder über SetWindowTheme (uxtheme.dll) deaktivieren

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.