Hallo allemaal, ik heb in vb6 een listview gemaakt met daarin een aantal kolommen. Nu wil ik graag dat als het formulier geopend wordt dat dan de listview de middelste kolom laat zien (dat is de huidige maand). Hiervoor heb ik de volgende code:
en als ik dit probeer wordt de scroll bar ook netjes in het midden gepositioneerd. Alleen de kolommen worden niet geupdate. Die blijven dus aan het begin staan.
Ik dacht dat op te kunnen lossen met bovenstaande SendMessage maar dat werkt niet. Heeft iemand anders een idee over hoe ik dit op zou kunnen lossen of wat ik fout doe.
Ik heb al wel gezocht maar kan over dit probleem geen informatie vinden.
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| Dim si As SCROLLINFO Dim lReturn As Long 'Vul si object si.cbSize = Len(si) si.fMask = SIF_ALL 'Haal scroll info op lReturn = GetScrollInfo(lstvBelasting.hwnd, 0, si) If lReturn = 0 Then MsgBox "Fout tijdens het ophalen van de scrollbar info!", vbCritical, "Fout" Else 'MsgBox "Min: " & si.nMin & " Max: " & si.nMax & " Pos: " & si.nPos 'zet scroll bar in het midden si.nPos = (si.nMax - (si.nPage - 1)) / 2 SetScrollInfo lstvBelasting.hwnd, 0, si, True 'stuur message om kolommen te updaten SendMessage lstvBelasting.hwnd, WM_VSCROLL, SB_THUMBPOSITION Or (&H10000 * si.nPos), ByVal 0& End If |
en als ik dit probeer wordt de scroll bar ook netjes in het midden gepositioneerd. Alleen de kolommen worden niet geupdate. Die blijven dus aan het begin staan.
Ik dacht dat op te kunnen lossen met bovenstaande SendMessage maar dat werkt niet. Heeft iemand anders een idee over hoe ik dit op zou kunnen lossen of wat ik fout doe.
Ik heb al wel gezocht maar kan over dit probleem geen informatie vinden.
Hail to the king baby!