Hi Alan,
the problem is more than just calling the wrong event, for EACH MouseMove Event oven any item of the listbox, when you hold the left mouse button down, a ProgrammaticChange Event fires. Imagine if some codes takes a few seconds to execute in the ProgrammaticChange Event.
Sylvain
>I agree, Fabio. Individual clicks use InteractiveChange, but holding the mouse button uses ProgrammaticChange. Possibly to Microsoft's way of thinking, since you don't click the button, then the program is making the change for you, and so it uses ProgrammaticChange.
>
>In a kind of twisted logic, maybe it makes a sort of sense, but I have to agree with you. I think it should be using InteractiveChange.
>
>Alan
>
>>Fill a ListBox, hold down left mouse button,
>>and move on list Items:
>>
multiple ProgrammaticChange occurs>>
>>correct is multiple InteractiveChange !
>>
>>repro:
>>
>>PUBLIC oform1
>>
>>oform1=NEWOBJECT("form1")
>>oform1.Show
>>RETURN
>>
>>DEFINE CLASS form1 AS form
>>
>> ShowWindow = 2
>> DoCreate = .T.
>> Caption = "Form1"
>> Name = "Form1"
>>
>>
>> ADD OBJECT list1 AS listbox WITH ;
>> RowSourceType = 1, ;
>> RowSource = "AAAA,BBBB,CCCC,DDDD,EEEE", ;
>> Height = 170, ;
>> Left = 20, ;
>> Top = 11, ;
>> Width = 100, ;
>> Name = "List1"
>>
>> PROCEDURE list1.ProgrammaticChange
>> WAIT windows "programmaticchange "+STR(m.this.ListIndex) NOWAIT
>> ENDPROC
>>
>>
>>ENDDEFINE
>>
>>
>>Fabio