[Delphi] Listbox laten scrollen naar active item

Pagina: 1
Acties:

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 01-02 18:42
Ik stuur een listbox aan door met een knop ItemIndex+1 te doen, het probleem alleen is dat hij naar beden gaat buiten het 'zichtveld' dan scrollt de scrollbox niet mee.

Hoe kan ik dit verhelpen? Ik heb al geprobeerd met .Scroll maar ik weet niet hoever ik moet scrollen...

  • whoami
  • Registratie: December 2000
  • Nu online
Wat bedoel je met 'aansturen' ? Wat doe je precies , wat wil je precies bereiken ?

Heeft een ListItem geen EnsureVisible method ?

https://fgheysels.github.io/


Verwijderd

Je kunt listbox.TopIndex veranderen om aan te geven welke item als eerste zichtbaar moet zijn.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:49

Creepy

Tactical Espionage Splatterer

En er is dacht ik zelfs een method die ervoor zorgt dat het geselecteerde item in de visible range komt waarvan we me de naam even ontschoten is. Maar die is prima te vinden in de Delphi help :)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • whoami
  • Registratie: December 2000
  • Nu online
Creepy : EnsureVisible dacht ik. ;)

https://fgheysels.github.io/


Verwijderd

Geen idee welke Delphi versie Megamind gebruikt, maar Delphi 6 heeft geen kaas gegeten van EnsureVisible, en TCustomListBox.SetSelected() stuurt in feite gewoon een LB_SETCURSEL message naar die listbox.

Spooky's oplossing is dus de beste. :)

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 01-02 18:42
Ook bij mijn Delphi7 bestaat de EnsureVisible, helaas dat TopIndex een readonly is dus die kan ik niet meer setten runtime.. :(

  • Icelus
  • Registratie: Januari 2004
  • Niet online
Megamind schreef op dinsdag 06 juni 2006 @ 23:38:
Ook bij mijn Delphi7 bestaat de EnsureVisible, helaas dat TopIndex een readonly is dus die kan ik niet meer setten runtime.. :(
TopIndex is geen read-only. Delphi' help heeft ook een voorbeeld voor TopIndex.

Developer Accused Of Unreadable Code Refuses To Comment


  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 13:48
Ik begrijp je probleem niet zo goed. Ik heb even geprobeerd je probleem te reconstrueren, maar als ik een listbox maak met zeg 20 items, en een knop met de actie "ListBox1.ItemIndex := ListBox1.ItemIndex + 1;" dan gaat de selectie door de hele listbox en als hij beneden de listbox dreigt te komen scollt hij gewoon door en blijft je selectie op de onderste regel zichtbaar.

"If you don't know where you are going, any road will take you there"


  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 01-02 18:42
Hm, ik gebruik een listview, foutje, misschien komt het daardoor?

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Erm...ja, dat maakt behoorlijk uit. Voor een TListView gebruik je de MakeVisible method op een TListItem uit de TListView.

We adore chaos because we like to restore order - M.C. Escher

Pagina: 1