tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
1265
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von jokey2
    jokey2 jokey2 ist offline Mitglied Smaragd
    Registriert seit
    Nov 2004
    Beiträge
    1.235
    Hallo Leute!
    Ich habe eine ListBox, in der ich Ausgaben von Programmen anzeigen will. Diese Ausgaben füge ich zeilenweise mit AddString(...) zur ListBox hinzu. Allerdings sind manche Zeilen länger als die ListBox. Obwohl ich im ResourceEditor bei den Listenfeld-Eigenschaften 'Horiz. Bildlauf' aktiviert habe, erscheint in diesem Fall trotzdem kein Scrollbalken. Wenn ich das Häkchen bei 'kein Bildlauf deaktivieren' setze, ist der Scrollbalken zwar da, aber immer inaktiv. Scheinbar erkennt die ListBox nicht, wenn die angezeigte Zeile länger ist. Ist das ein Bug im VS oder habe ich was falsch eingestellt und was muß ich tun, damit ich horizontal scrollen kann? Beim vertikalen Scrollen klappt alles.

    Grüße, jokey2
     

  2. #2
    Avatar von Endurion
    Endurion Endurion ist offline Mitglied Diamant
    Registriert seit
    Apr 2004
    Beiträge
    2.151
    Das ist ein fieser Trick: Die ListBox kann nur horizontal scrollen, wenn sie weiss, wie breit ein Item ist. Das kannst du mit SetColumnWidth (MFC) oder mit LB_SETCOLUMNWIDTH (Win32) machen.
     

  3. #3
    Avatar von jokey2
    jokey2 jokey2 ist offline Mitglied Smaragd
    Registriert seit
    Nov 2004
    Beiträge
    1.235
    Na, das ist ja wirklich fies! Heißt das, ich muß die Breite immer auf die Länge der längsten Zeile setzen?
     

  4. #4
    Avatar von jokey2
    jokey2 jokey2 ist offline Mitglied Smaragd
    Registriert seit
    Nov 2004
    Beiträge
    1.235
    Hab's ausprobiert, klappt aber leider nicht. SetColumnWidth erfordert eine mehrspaltige ListBox, ich will aber nur eine haben. Ich habe sie mal zum Testen auf mehrspaltig gesetzt und eine Spaltenbreite gesetzt, dann hatte ich einen horizontalen Scrollbalken, der allerdings seitenweise vertikal scrollte und der vertikale Scrollbalken war verschwunden. Klingt komisch, ist aber so.
    Ich will doch nur zeilenweise Text ausgeben, und zwar so, daß der Anwender auch den kompletten Text lesen kann. Das muß doch möglich sein, oder muß ich da auf CListCtrl umsteigen?
     

  5. #5
    Avatar von Endurion
    Endurion Endurion ist offline Mitglied Diamant
    Registriert seit
    Apr 2004
    Beiträge
    2.151
    Argh, verflixt, ich war mit den Gedanken woanders. Meine Lösung ist für ein anderes Problem mit der Listbox und dem horizontalen Scrollbalken.

    Aber bei http://www.codeguru.com/Cpp/controls...cle.php/c4759/ gibt es eine von CListBox abgeleitete Klasse, die den horizontalen Scrollbalken richtig setzt. Die Original-ListBox ist an der Stelle scheinbar wirklich zu doof.
     

  6. #6
    Avatar von jokey2
    jokey2 jokey2 ist offline Mitglied Smaragd
    Registriert seit
    Nov 2004
    Beiträge
    1.235
    Danke für den Tip, werde ich dann mal ausprobieren!

    Grüße,
    jokey2
     

  7. #7
    Winner Winner ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    218
    Hallo zusammen! Ich habe das selbe Problem gehabt! Habe es ohne die Klassen von Codeguru gelöst! Die List Box ist nicht zu doof dafür!

    Man muss ersten diese Eigenschaften bei dem Listenfeld einstellen:

    Rand, Sortieren, Benachrichten, Horizontaler und Vertikaler Bildlauf

    Im Code muss man nun noch folgendes machen:

    Es muss sich einfach die maximale Länge des Stringes gemerkt werden der in die Listbox geschrieben wird.

    Wenn alle einträge gemacht wurden einfach folgende Nachricht senden:

    Code :
    1
    
    SendMessage( HandleOf( hwnd, DID_LISTE ), LB_SETHORIZONTALEXTENT, (UINT)(iMaxLength*textBreite*1.5), 0 );
     

Ähnliche Themen

  1. Tooltip scrollt nicht mit im IE
    Von alfsch7 im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 05.09.08, 14:41
  2. Listbox horizontal scrollen
    Von DrMueller im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 01.10.07, 16:02
  3. JScrollPane scrollt nur Horizontal ...
    Von Xondio im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 26.09.07, 15:53
  4. JScrollPane scrollt nicht
    Von Moltar im Forum Java
    Antworten: 0
    Letzter Beitrag: 15.05.07, 10:17
  5. In ListBox horizontal scollen
    Von happyfrank im Forum Borland CBuilder und VCL
    Antworten: 1
    Letzter Beitrag: 07.03.05, 01:48