Toon posts:

[VB] ensurevisible werkt niet lekker

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hai,

Ik zit met het volgende ‘probleem’. Ik heb een applicatie ontwikkeld in VB6 met een aantal listviews erin waar data uit een recordset word ingepompt. Dit werkt allemaal uitstekend. De applicatie is uitgerust met een functie die de laatst geselecteerde regel in de listview wegschrijft. Als je de applicatie dus weer opstart dan kom je in de laatste situatie terecht. Dit werkt uitstekend maar regelmatig staat de geselecteerde regel niet zichtbaar geselecteerd.

Stel dat je in je listview 20 regels kan laten zien (ivm de hoogte van de listview) dan staat hij bijvoorbeeld als 22e dus valt hij net buiten het zichtbare gedeelte. Ik maak gebruik van de ensurevisible property.

Heeft iemand hier ervaringen mee ? Ik ben al een jaar met de applicatie bezig en heb regelmatig het internet afgespeurd (got, msdn, google, pscode) naar een oplossing hiervoor maar het probleem lijkt wel niet te bestaan. Ik kan me niet voorstellen dat ik de enige ben die dit heeft.

Weet iemand of er een property bestaat dat je kan forceren dat die geselecteerde regel in het midden van de listview word getoond ? Zodat hij dus altijd zichtbaar is ? Het werkt namelijk heel vervelend als hij buiten het zichtbare deel van de listview valt.

Alvast bedankt

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 17-08 10:20

mulder

ik spuug op het trottoir

zet je die property tijdens of na het vullen van de listview?

oogjes open, snaveltjes dicht


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
code:
1
2
3
4
5
6
7
8
9
10
Private Sub Form_Load()
    Dim T As Long
    
    For T = 1 To 1000
        ListView1.ListItems.Add , , "Item" & T
    Next T
    
    ListView1.ListItems(1000).Selected = True
    ListView1.ListItems(1000).EnsureVisible
End Sub

Werkt bij mij gewoon hoor :?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
@ RobIII
Het werkt over het algemeen wel maar vaak gewoon niet. Dan staat hij dus net 2 a 3 regels onder het laatste zichtbare listviewitem

@Don Facundo
Nadat de listview gevuld is

Is het btw mogelijk om te zeggen dat de geselecteerde regel in het midden van je listview moet komen te staan ?

[ Voor 24% gewijzigd door Verwijderd op 01-10-2004 15:34 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Check deze url eens, onder het kopje listview. Daar staat zat code van je gading denk ik zo ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 10-08 13:52

pjvandesande

GC.Collect(head);

Doe je het in een anderen thread, probeer is DoEvents te doen en probeer achteraf is zelf een item te selecteren.
Pagina: 1