Update released.
Thanks to inspiration by softv I introduced now the ComboCue property.
It needs to be set at run-time to either 0 - None, 1 - DropDown or 2 - Button.
The demo project was updated to use this new functionality.
This is how it needs to be set. As you see below the ComboCue and the actual ComboMode for editing are independent of each other.
So, it is the app responsobility to apply the correct ComboCue upon RowColChange event.
Code:
Private Sub VBFlexGrid1_RowColChange()
' The combo cue can only be displayed on the current cell.
If VBFlexGrid1.Row >= VBFlexGrid1.FixedRows Then
Select Case VBFlexGrid1.Col
Case COL_CALENDARVALIDATION, COL_COMBODROPDOWN, COL_COMBOEDITABLE
VBFlexGrid1.ComboCue = FlexComboCueDropDown
Case COL_COMBOBUTTON
VBFlexGrid1.ComboCue = FlexComboCueButton
Case Else
VBFlexGrid1.ComboCue = FlexComboCueNone
End Select
Else
VBFlexGrid1.ComboCue = FlexComboCueNone
End If
End Sub
The new hit result enum FlexHitResultComboCue helps to identify the graphical cue.
However, it is not only a cue. It makes it also easier to start editing.
When a cue is displayed and you click on it then the editing is started and the drop-down list will be shown.
The new edit reason enums FlexEditReasonComboCueClick, FlexEditReasonComboCueDblClick and FlexEditReasonComboCueF4 helps for this.
What's missing (for now):
Like for ComboButtonValueDisabled maybe a disabled graphical cue might be helpful.
For ComboCueDropDown the alt-down arrow key may also start editing. (enum FlexEditReasonComboCueAltKey ?)
Hot-tracking for the graphical cue.