I mitt formulär, så har jag bl a två textboxar, bägge scrollbar satt till vertikalt. Ovan Snabbt och fel Så här Nja, någonting är galet, kanske min förklaring till dig. Jag har fått hjälp på annat håll.ScrollBars-problem
Jag kopiera over viss markerad text ifrån text1 till text2.
Om jag har laddat en relativt stor fil i text1, och i mitten av documentet(då är scrollbaren på ca mitten), hur kan jag förhindra att scrollbaren åker upp till borjan, när jag har kopierat färdigt?
(detta var knepigt att skriva, jag hoppas att någon förstår).Sv: ScrollBars-problem
Text1.SetFocus
Text1.SelStart = Len(Text1.Text)Sv: ScrollBars-problem
När jag gör om du föreslog, så ställer den sig i början av text1.
Skall det ha någonsomhelst betydelse i vilken sub man skriver detta(eftersom mina
operationer tar plats i Text1_KeyDown(KeyCode As Integer, Shift As Integer) så har
jag bl a testat där.
Någonstans så har jag för mig att man borde använda sig av selected text, men kommer inte ihåg.Sv: ScrollBars-problem
Först lite deklarationer:
<code>
'i modul
Public lScrollQuota As Single
Declare Function GetScrollPos Lib "user32" (ByVal hwnd As Long, ByVal nBar As Long) As Long
Declare Function GetScrollRange Lib "user32" (ByVal hwnd As Long, ByVal nBar As Long, lpMinPos As Long, lpMaxPos As Long) As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long
Dim lScrollPosition As Long
Dim lScrollRange As Long
Dim lScrollQuota As Long
'sedan två subbar
Sub SparaScroll()
GetScrollRange Form1.Text1.hwnd, SB_VERT, vbNull, lScrollRange
lScrollPosition = GetScrollPos(Form1.Text1.hwnd, SB_VERT)
lScrollQuota = lScrollPosition / lScrollRange
End Sub
Sub HämtaScroll()
GetScrollRange Form1.Text1.hwnd, SB_VERT, vbNull, lScrollRange
SendMessage Form1.Text1.hwnd, WM_VSCROLL, (CInt(lScrollRange * lScrollQuota) * &H10000) _
Or (SB_THUMBPOSITION And &HFFFF&), 0
End Sub
</code>
Sedan anropar man SparaScroll INNAN man gör någon operation, och precis EFTER operationen.
Det fungerar kanonbra.
Tack för att ni försökte.