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.
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Error con tTreeViewMod
Error con tTreeViewMod
BiSoft Desarrollo de software profesional
http://www.bisoft.es
http://www.bisoft.es
- ignacio
- Site Admin
- Mensajes: 9255
- 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