CProgressCtrl und Text



  • Ich bekomme es nicht hin, eine Progressbar zu definieren, die auch gleichzeitig einen Text ausgibt.

    Mein Versuch lautet:

    CProgressCtrl* pBar=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
    pBar->SetRange(0,100);
    pBar->SetPos(50);
    pBar->SetWindowText("Hallo");
    pBar->Invalidate();

    Die Fortschrittsanzeige funktioniert, leider bekomme ich aber den Text nicht angezeigt.

    Es liegt bestimmt nur an einer winzigen Kleinigkeit.
    Was mache ich falsch? Irgendwie kapiere ich das nicht, auch nicht irgendwelche Beispiele von CodeGuru (die für mich Anfänger zu viel bieten)

    Danke.



  • ich habe eine Vermutung:

    vielleicht muß man das Löschen des Hintergrunds vermeiden.

    Aber wie geht das mit einem Zeiger auf ein Objekt?
    Oder liegt es gar nicht daran?



  • Schau mal hier nach:
    http://www.codeproject.com/miscctrl/text_progressctrl.asp

    Dort wird eine Unterklasse CTextProgressCtrl von CProgressCtrl abgeleitet. Das ist der übliche Stil, wie man so etwas erledigt.



  • Das Beispiel habe ich schon irgenwo gesehen.

    Also geht es wohl nur über eine eigene Klasse....
    Schade, ich habe gehofft, daß es auch ohne geht.

    Na ja, Danke jedenfalls!!

    Ich werde aber dann lieber auf den Schriftzug verzichten



  • Warum denn das? Du bindest einfach den Header der Sub-Klasse (Demo-Projekt downloaden und anschauen) in Dein Projekt und Programm ein und benennst den Variablentyp um. Dann kannst Du Dein SetWindowText(...) benutzen. Das ist wirklich einfach. Da gibt es noch viel mehr schöne Sachen, die so laufen (z.B. CHoverButton).
    Oder hängt es am Englisch? Nicht aufgeben.



  • klann das jemand näher beschreiben welche anpassungen in meinem prog gemacht werden müssen ?


Anmelden zum Antworten