Events in combobox are a mess.
I post here the log of only the events i plan to use. I'll not debug the whole ComboBox for you(TMS).
I'd liked that you (TMS) will do a strong debug session before make me pay for a component that appears to be in an Alpha state. Anyway i need to release the project for witch i bought your component pack: i'd like to know when these all will be SURELY fixed as i have to give a release date to my customer.
Bugs list.
1) Clicking on the combobox button:
- 1a) does not generate mousedown/mouseup events.
- 1b) generates 2 click events.
2) This is what happens when i click on the button, and then i click it again, so basically i just open and close the combobox:
- first mouse click, cbo opens
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=-1
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=-1 <== Double event
- second mouse click, cbo close
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <==What is this event for (1)?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <==What is this event for (2)?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <==What is this event for (3)?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <==What is this event for (4)?
TForm1::AdvSmoothComboBox1CloseUp
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=-1
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=-1 <== Double event
3) Open/Close bug: this is how to reproduce it:
a- click on the cbo button: it opens
b- mousedown on the button BUT KEEP THE BUTTON PRESSED: the cbo closes
c- wait a second or so, then release the mouse button: the cbo opens again. WHY?
4) Selecting an item generates a mess of events:
- first mouse click, cbo opens
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=-1
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=-1 <== Double event
-
mouse down on an item
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=-1, ItemIndex=0, SelectedItemIndex=-1 <== Should not happen only on the Click event? If not, why?
TForm1::AdvSmoothComboBox1MouseDown <== Why this is fired AFTER the changes?
- mouse up
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=-1
CBO EVENT: TForm1::AdvSmoothComboBox1Click SelectedItemIndex=-1 <== Double event
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=0, ItemIndex=19, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=19, ItemIndex=18, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=18, ItemIndex=17, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=17, ItemIndex=16, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=16, ItemIndex=15, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=15, ItemIndex=14, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=14, ItemIndex=13, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=13, ItemIndex=12, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=12, ItemIndex=11, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=11, ItemIndex=10, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=10, ItemIndex=9, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=9, ItemIndex=8, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=8, ItemIndex=7, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=7, ItemIndex=6, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=6, ItemIndex=5, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=5, ItemIndex=4, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=4, ItemIndex=3, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=3, ItemIndex=2, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=2, ItemIndex=1, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=1, ItemIndex=0, SelectedItemIndex=0 <== ????
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <== What is changing?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <== What is changing?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <== What is changing?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <== What is changing?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=0, ItemIndex=19, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=19, ItemIndex=18, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=18, ItemIndex=17, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=17, ItemIndex=16, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=16, ItemIndex=15, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=15, ItemIndex=14, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=14, ItemIndex=13, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=13, ItemIndex=12, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=12, ItemIndex=11, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=11, ItemIndex=10, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=10, ItemIndex=9, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=9, ItemIndex=8, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=8, ItemIndex=7, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=7, ItemIndex=6, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=6, ItemIndex=5, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=5, ItemIndex=4, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=4, ItemIndex=3, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=3, ItemIndex=2, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=2, ItemIndex=1, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelectionChanged PreviousItemIndex=1, ItemIndex=0, SelectedItemIndex=0 <== ???? again...
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <== What is changing (again)?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <== What is changing (again)?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <== What is changing (again)?
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemChanged ItemIndex=0, SelectedItemIndex=-1 <== What is changing (again)?
TForm1::AdvSmoothComboBox1CloseUp
TForm1::AdvSmoothComboBox1MouseUp
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemClick ItemIndex=0, SelectedItemIndex=-1
CBO_ITEM EVENT: TForm1::AdvSmoothComboBox1ItemSelected ItemIndex=0, SelectedItemIndex=0
I'd stop here, for now.