How would i get it?
I am trying to to make it easier for my program users to edit the list items. I want it to work like this:
Code:
Private sub list1_dblclick()
text1.visible = true
text1.text = list1.list(list1.listindex)
'here is where i cannot figure out what to do(i know the below code wont work. i've tested it.)
text1.top = list1.listindex.top
end sub
how could i get it that every time the user double clicks on a list item, that a textbox apears there all they have to do is edit the text and press enter.
i mostly just need to get the "top" position of a selected list item.
Last edited by HanneSThEGreaT; July 7th, 2010 at 08:45 AM.
I'm afraid your'e on the wrong track. You have a great idea, but believe it or not, it may be very difficult to implement. Here is an example of how to go about with it :
If it can show all 6 rows, it scrolls. Otherwise, it goes to the TOP
Code:
Option Explicit
Private Sub Command1_Click()
Dim s%, x As Integer
s = List1.TopIndex
If s < List1.ListCount - 6 Then
List1.TopIndex = List1.TopIndex + 5
Else
List1.TopIndex = 0
End If
For x = 0 To List1.ListCount - 1
If List1.Selected(x) = True Then
List1.Selected(x) = False
End If
Next x
End Sub
Private Sub Form_Load()
Dim x%
For x = 0 To 15
List1.AddItem x + 1
Next x
End Sub
I doubt, David. It seems as if the OP wants an editable listbox - therefore he / she needs to know each item's top position so that he / she can place a TextBox there.
If it can show all 6 rows, it scrolls. Otherwise, it goes to the TOP
...
[/CODE]
(First READ the Thread, then answer. *********.)
BTT: You could compute the Position where to put the Textbox using TextHeight like this :
Code:
Private Sub List1_DblClick()
Dim nPos As Long
Dim nIndex As Long
nPos = List1.TopIndex
nIndex = List1.ListIndex
Text1.Top = List1.Top + ((nIndex - nPos) * TextHeight("Ag"))
End Sub
Last edited by HanneSThEGreaT; July 8th, 2010 at 03:18 AM.
Bookmarks