AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TListBox und Columns>0

Ein Thema von Michaela_ · begonnen am 24. Jun 2006 · letzter Beitrag vom 26. Jun 2006
Antwort Antwort
Michaela_

Registriert seit: 11. Aug 2004
Ort: Wien
61 Beiträge
 
Delphi 5 Professional
 
#1

TListBox und Columns>0

  Alt 24. Jun 2006, 08:12
Hallo,

ich habe ein kleines Problem mit einer TListBox.
Und zwar sollen die Einträge horizontal aufgelistet werden. Dazu habe ich die Eigenschaft Columns>0 gesetzt. Wird natürlich auch richtig angezeigt.

Problem ist, dass beim Anklicken eines Eintrages auf der rechten Seite die ListBox automatisch ins scrollen beginnt und beim Loslassen der Maustaste dann einen ganz anderen Eintrag als zuerst gewünscht markiert.

Gibt es eine Möglichkeit dieses automatische Scrollen abzustellen?

danke für eure Hilfe,
Michalea
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#2

Re: TListBox und Columns>0

  Alt 24. Jun 2006, 08:47
Was meinst du genau mit Columns>0 ? Zeig einfach die betroffene Codestelle.
  Mit Zitat antworten Zitat
Michaela_

Registriert seit: 11. Aug 2004
Ort: Wien
61 Beiträge
 
Delphi 5 Professional
 
#3

Re: TListBox und Columns>0

  Alt 24. Jun 2006, 09:01
Ich setzte zum Beispiel Columns=2 damit 2 Spalten angezeigt werden und um die Liste horizontal scrollen zu können. Die zwei Spalten werden korrekt angezeigt, allerdings wird die Spalte auf der rechten Seite nicht ganz angezeigt, sondern nur teilweise (ein paar Pixel fehlen).

Wenn man jetzt darauf klickt, dann scrollt die ListBox automatisch nach Links. Wenn man dann die Maustatse loslässt ist danach natürlich ein anderer Eintrag ausgewählt. Wenn man die Maustaste gedrückt lässt dann scroll die ListBox auch automatisch bis zum letzten Eintrag.

Ich hab mal ein Beispiel angehängt. Drückt man zb. auf den Eintrag "gggg..." so verschiebt sich die Listbox. Und das möchte ich gerne verhindern.

Source gibts dazu eigentlich keinen, aber ich hab das Projekt auch mal angehängt.


lg,
Michaela
Angehängte Dateien
Dateityp: zip beispielsource_169.zip (4,5 KB, 12x aufgerufen)
Dateityp: zip project1_307.zip (159,1 KB, 11x aufgerufen)
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#4

Re: TListBox und Columns>0

  Alt 24. Jun 2006, 09:10
Es gibt leider kein AutoScroll, also kannst du, wenn es so wenig Items bleiben einfach die ListBox verbreitern, also Width erhöhen oder auch Height erhöhen. Außerdem: Bei dem Beispiel (Source) habe ich keine Probleme, bei dem kompilierten Beispiel tritt der Scrolleffekt allerdings auf, wie du es gesagt hast.

mfg, Nils.
  Mit Zitat antworten Zitat
Michaela_

Registriert seit: 11. Aug 2004
Ort: Wien
61 Beiträge
 
Delphi 5 Professional
 
#5

Re: TListBox und Columns>0

  Alt 25. Jun 2006, 08:33
Auch in Delphi7 tritt der Effekt auf wenn ich zb. die Spaltenbreite auf 120 Pixel setzte und ein Eintrag nicht ganz dargestellt wird. Sobald ein solcher nicht ganz dargestellt wird, wird er in die Anzeige gescrollt.

Das war nur ein Beispiel, im Programm selber ist die Listbox natürlich größer und die Spaltenbreite ist 280 Pixel. Der einzige Workaround wäre die Breite der Listbox als ein vielfaches von 280 zu setzten was leider nicht geht.

Ich hab auch versucht mit der Message LB_SETCARETINDEX das zu verhindern. Hier kann man unter lParam angeben zu dem Eintrag gescrollt wird oder nicht, aber der wird vollkommen ignoriert.

lg
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#6

Re: TListBox und Columns>0

  Alt 25. Jun 2006, 08:54
Hai Michaela_

das sieht fast wie ein Bug aus? Wenn ich das ganze unter BDS2006 kompiliere läuft es so wie Du es möchtest. (Siehe Anhang).
Angehängte Dateien
Dateityp: zip project1_215.zip (209,3 KB, 9x aufgerufen)
Stephan B.
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#7

Re: TListBox und Columns>0

  Alt 25. Jun 2006, 09:26
Bei mir läuft es auch, wenn ich es mit Delphi 7 kompiliere. Komisch.
  Mit Zitat antworten Zitat
Michaela_

Registriert seit: 11. Aug 2004
Ort: Wien
61 Beiträge
 
Delphi 5 Professional
 
#8

Re: TListBox und Columns>0

  Alt 26. Jun 2006, 18:15
Habe es auch unter Delphi7 getestet. Hier läuft es ohne weitere Änderung, da scheinbar das Setzen des Wertes Column von der Komponente anders als in Delphi5 umgesetzt wird.
Wenn ihr aber die Spaltenbreite ändert...

SendMessage( ListBox1.Handle, LB_SETCOLUMNWIDTH, 120, 0 ); ...dann bekommt ihr auch hier den selben Effekt.


lg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz