[Gelöst]Automatisches scrollen für CRichEditCtrl



  • Hi ich habe folgendes Problem:
    Ich habe ein CRichEditCtrl Feld und es kommt ständig neuer Text hinzu und das Feld wird immer weiter runter gescrollt.

    Bisher war das so:

    // Scroll to the bottom
    	nBegin = this->GetTextLength();
    	this->SetSel(nBegin, nBegin); 
    	this->SetFocus();
    

    Aber dadurch wird das Fenster ständig in den Vordergrund gerufen und stört.

    Jetzt suche ich eine Möglichkeit das Feld immer nach unten gescrollt zu haben ohne ständig den Fokus auf das Fenster zu bekommen.
    Ohne SetFocus(); funktioniert das so aber nicht...

    Vielleicht kann mir jmd von euch eine Alternative nennen.

    Danke schon mal



  • Standard-C++ kennt kein Scrollen. Kein CRichEditCtrl. Und auch kein SetFocus().
    Soll heißen, du bist hier im falschen Forum gelandet, Fragen zu GUI-Frameworks werden in den entsprechenden Unterforen beantwortet. Wenn du sagst um welches Framework es sich bei dir handelt verschiebt ein Moderator diesen thread ja vielleicht dahin.
    Bis dahin sei doch so lieb und lies dir den Link in meiner Signatur durch. Damit dir beim nächsten mal schneller geholfen werden kann 🙂



  • Der Thread gehört in den MFC Bereich (bitte verschieben liebe Admins).

    Hab inzwischen schon mal versucht das ganze mit LineScroll() zu lösen aber das Ergebnis ist nicht ganz konstant, da sich auch Bilder im Feld befinden können und diese wenn sie höher sind als eine Line dann der sichtbare Bereich nach oben verschoben wird.

    Hab inzwischen eine Lösung gefunden.

    this->SendMessage( WM_VSCROLL, MAKEWPARAM( SB_PAGEDOWN, 0 ), 0L );
    

Anmelden zum Antworten