Hello,
When the user presses a character to move to the item within a COMBOBOX, it does not work. I updated to version 7.01.
cdmmaui wrote:When the user presses a character to move to the item within a COMBOBOX, it does not work. I updated to version 7.01.
//----------------------------------------------------------------------------//
METHOD KeyChar( nKey, nFlags ) CLASS TComboBox
local nNewAT := 0, nOldAT := ::nAT, uItem
do case
case nKey = 32 // VK_DELETE (DO NOT WORK!)
::cSearchKey := ""
nNewAt := 1
uItem := ::aItems[nNewAt]
case nKey = VK_BACK
::cSearchKey := Left( ::cSearchKey, Len( ::cSearchKey ) - 1 )
case nKey = 190
nKey := 0
::cSearchKey += "."
otherwise
::cSearchKey += Upper( Chr( nKey ) )
endcase
if Empty( uItem )
if nNewAt == 0
nNewAt := AScan( ::aItems, {|x| Upper(x) = ::cSearchKey } )
IF nNewAt > 0 .AND. Len( ::aItems ) <= nNewAt
uItem := ::aItems[ nNewAt ]
ENDIF
uItem := ::aItems[ IIF( nNewAt > 0, nNewAt, Max( ::nAT, 1 ) ) ]
else
uItem := ::aItems[ Max( nNewAt, 1) ]
endif
endif
::Set( uItem )
if ::bChange != nil .and. ( nNewAT != nOldAt .and. nNewAt != 0 )
Eval( ::bChange, Self, ::varGet() )
endif
if nKey == VK_RETURN
return ::oWnd:GoNextCtrl( ::hWnd )
endif
return 0 // Must be 0 - We don't want API default behavior.
Return to FiveWin for Harbour/xHarbour
Users browsing this forum: No registered users and 72 guests