Textfeld: Text positionieren/scrollen

Von: , Frage gestellt am Fr, 16. Feb 2001

Hallo!
Ich habe ein mehrzeiliges Textfeld und einen Text, der von der Höhe nicht komplett in dieses Fenster reinpaßt und möchte Programmgesteuert (unter Win32) den Inhalt so positionieren, daß eine bestimmte Zeile oben im Textfeld steht.

Entweder durch direktes Setzen und durch zeilenweises nach-unten-scrollen des Inhaltes.

Letzteres habe ich unter Win16 mit SendMessage(...) gemacht. Klappte auch, aber nicht mehr unter Win32 -> dort springt er immer ans Ende des Textes. :-(

Weiss jemand eine Lösung!

Thx,
Jens

7 Antworten zu dieser Frage

  1. Antwort von nach 3 Tagen hilfreich
    Re: Textfeld: Text positionieren/scrollen

    ganz einfach:
    hilft's dir?

    CListBox::SetCurSel
    int SetCurSel( int nSelect );

    Return Value

    LB_ERR if an error occurs.

    Parameters

    nSelect Specifies the zero-based index of the string to be selected. If nSelect is –1, the list box is set to have no selection.

    Remarks

    Selects a string and scrolls it into view, if necessary. When the new string is selected, the list box removes the highlight from the previously selected string.

    Use this member function only with single-selection list boxes. It cannot be used to set or remove a selection in a multiple-selection list box.

    See Also CListBox Overview Class Members Hierarchy ChartLB_SETCURSEL, CListBox::GetCurSel [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

    • Antwort von nach 3 Tagen hilfreich
      Danke! Ich habe zwar nicht...

      ...die MFC zur Verfügung, aber oftmals sind die Eigenschaften ja Abbildungen der WinAPI! :-)

      Jens

      • Antwort von nach 4 Tagen hilfreich
        Re: Danke! Ich habe zwar nicht...

        das siehste natuerlich richtig.
        aber du weisst schon das entsprechende herauszuziehen.
        und du wolltest ja keine fertige patentloesung -
        die moechtest DU ja selber machen.
        gruss- digi :) ...die MFC zur Verfügung, aber oftmals sind die Eigenschaften
        ja Abbildungen der WinAPI! :-)

        Jens

        • Antwort von nach 4 Tagen hilfreich
          Oooch....

          Gegen eine fertige Patentlösung hätte ich aber auch nix gehabt! ;-)

          Gruß,
          Jens

          • Antwort von nach 5 Tagen hilfreich
            Re: Oooch....

            naja, kosten? :)))(((
            kannst du sicher irgendwo gebacken kriegen.
            aber - siehe oben. Gegen eine fertige Patentlösung hätte ich aber auch nix
            gehabt! ;-)

            Gruß,
            Jens

  2. Antwort von nach 3 Tagen hilfreich
    Re: Textfeld: Text positionieren/scrollen

    Hallo Jens,

    welche Botschaft sendest Du denn mit SendMessage()?

    Gruß Patrick

    • Antwort von nach 3 Tagen hilfreich
      Ich nehme...

      EM_SCROLL und mache folgendes:

      l = SendMessage(TextBox->hwnd, EM_SCROLL, 1,0);

      Besser hab ich's unter Win16 nicht hinbekommen. Ich positioniere den Text immer an den Anfang und scrolle dann die benötigte Anzahl Zeilen nach unten, um den gewünschten Textteil anzuzeigen.

      Vielen Dank für Deine Hilfe! :-)
      Jens



      Hallo Jens,

      welche Botschaft sendest Du denn mit SendMessage()?

      Gruß Patrick

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!