Buenas Ignacio, estoy cambiado un Tree clásico a moderno y venga a darme error.
Si tomas tu propio sample de TreeViewMod y cargas una carpeta de archivos o creas el form2 con varios elementos, verás que solo con hacer click sobre el nombre de cualquiera de los item da este error. También si te mueves arriba y abajo con el teclado.
Gracias.
Error con tTreeViewMod
Error con tTreeViewMod
BiSoft Desarrollo de software profesional
http://www.bisoft.es
http://www.bisoft.es
- ignacio
- Site Admin
- Mensajes: 9257
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Error con tTreeViewMod
Hola,
Adjunto correción. Un saludo.
Adjunto correción. Un saludo.
Código: Seleccionar todo
METHOD SetIndex( nValue, lDel ) CLASS XListBoxMod
LOCAL nPos, nLen
LOCAL lRet, lChangeSel := .f.
DEFAULT lDel TO .T., nValue TO ::FnIndex
nLen := ::RecCount()
IF lDel
::FaSelected := {}
lChangeSel := .t.
ENDIF
IF nValue > 0 .AND. nValue <= nLen
IF nValue != ::FnIndex
lRet := ::OnChange( ::FnIndex, @nValue )
ENDIF
IF lRet == NIL .OR. lRet
::FnIndex := nValue
::FcText := ::ItemText( nValue ) <<<<<<<<<<<<<<<<<<<<<<<<<<<< CAMBIO REALIZADO
::cSeek := ""
::lFound := .F.
::AddSelected( nValue )
lChangeSel := .f. // Event triggered at AddSelected()
nPos := ::nItemHeight * ( nValue - 1 )
IF nPos < -::nClientTop
::nClientTop := -nPos
ELSEIF ( nPos + ::nItemHeight ) > ( ::nClientHeight - ::nClientTop )
::nClientTop := ::nClientHeight - nPos - ::nItemHeight
ENDIF
::OnChanged()
::Refresh()
ENDIF
ELSEIF nLen == 0
::FnIndex := 0
lChangeSel := .f.
::Refresh()
ENDIF
IF lChangeSel
::OnChangeSelected( ::FaSelected )
ENDIF
RETURN ::FnIndex