[Gambas-user] listbox display selected item
Dimitris Anogiatis
dosida at ...626...
Thu Jul 23 09:06:05 CEST 2009
JY, I think I got it working the way you want it...
try my example with a new project with a listview and a timer. Set the timer
for 10 miliseconds and enable it
and paste this code in the class
-----------------------------------------------------------------------------------------------------------------------------------------------------
' Gambas class file
PUBLIC SUB _new()
END
PUBLIC SUB Form_Open()
Listview1.Add("Blah", "Hi there")
Listview1.Add("Blah2", "How are you")
Listview1.Add("Blah3", "I'm good")
Listview1.Add("Blah4", "How about you?")
END
PUBLIC SUB chooseSub(choice AS String)
SELECT CASE choice
CASE "Blah"
PRINT ("Key is Blah")
CASE "Blah2"
PRINT ("Key is Blah2")
CASE "Blah3"
PRINT ("Key is Blah3")
CASE "Blah4"
PRINT ("Key is Blah4")
CASE ELSE
END SELECT
END
PUBLIC SUB ListView1_Click()
chooseSub(Listview1.Item.Key)
END
PUBLIC SUB Timer1_Timer()
'Listview1.Find(Mouse.ScreenX - fmain.ScreenX - Listview1.Left,
Mouse.ScreenY - Fmain.ScreenY - Listview1.Top)
IF Listview1.Count > 0 THEN
SELECT CASE Listview1.Find(Mouse.ScreenX - Fmain.ScreenX -
Listview1.Left, Mouse.ScreenY - Fmain.ScreenY - Listview1.Top)
CASE FALSE
Listview1[getKeyFromPosition(Listview1, (Mouse.ScreenY -
Fmain.ScreenY - Listview1.Top) \ 25)].selected = TRUE
CASE ELSE
END SELECT
ENDIF
END
PUBLIC FUNCTION getKeyFromPosition(lv AS ListView, pos AS Integer) AS String
DIM iterator AS Integer
DIM tmpCount AS Integer
DIM res AS String
IF pos <= 0 THEN tmpCount = 0
IF pos >= lv.Count THEN
tmpCount = lv.Count - 1
ELSE
tmpCount = pos
ENDIF
lv.MoveFirst
FOR iterator = 0 TO tmpCount - 1
lv.MoveNext
NEXT
res = lv.Item.Key
RETURN res
END
-----------------------------------------------------------------------------------------------------------------------------------------------------
be careful of all the events firing and the code executing... but I think I
got it as close to what you want it to do, as possible
hope this helps in your project
Keep up the good work
Regards,
Dimitris
On Wed, Jul 22, 2009 at 11:47 PM, Jean-Yves F. Barbier <12ukwn at ...626...>wrote:
> Dimitris Anogiatis a écrit :
> > JY,to select a specific item in a listview you have to provide the item's
> > key like this
> >
> > Listview1["Blah"].Selected = True
> >
> > if you want to automatically select the first item that is on the
> listview
> > you try this
> >
> > IF Listview1.Count > 0 THEN
> > Listview1.MoveFirst
> > Listview1.Item.Selected = True
> > ENDIF
>
> Not this Time, Dimitri.
> I'm searching a behaviour as Stephen told about.
> In fact I expected the selection bar to automatically move, such as in
> a ComboBox (Benoît, why ListBox & ListView don't act alike ComboBox??)
>
> I guess we should be more tyrannical toward Benoît, so he won't loose time
> scratching his wiki's root, nor watching TV neither sleeping ;-)
>
> JY
> --
> I read the newspaper avidly. It is my one form of continuous fiction.
> -- Aneurin Bevan
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Gambas-user mailing list
> Gambas-user at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user
>
More information about the User
mailing list