SoloCodigo

Programación General => Visual FoxPro => Mensaje iniciado por: fox99 en Martes 27 de Enero de 2009, 00:34

Título: autocompletar en combo
Publicado por: fox99 en Martes 27 de Enero de 2009, 00:34
Quisiera ver si alguien puede ayudarme, lo que necesito es que el comboBox sea de autocompletacion pero no se como realizar esto

de antemano muchas gracias
Título: Re: autocompletar en combo
Publicado por: BORKEZ en Miércoles 30 de Septiembre de 2009, 00:19
pega ese dodigo en propiedad interactivechange.


LOCAL lnUltimaTecla, lcMostrarValor,lcUltimoValorMostrado, ;
  lnUltimaSeleccion, lnSeleccionados
lnUltimaTecla = LASTKEY()
lcUltimoValorMostrado = ""
lnUltimaSeleccion = 0
lnSeleccionados = 0
IF (lnUltimaTecla >= 32 AND lnUltimaTecla <= 126)
  IF THIS.SELSTART >= 1
    lcMostrarValor = SUBSTR(THIS.DISPLAYVALUE,1,THIS.SELSTART-1)+(CHR(lnUltimaTecla))
  ELSE
    lcMostrarValor = (CHR(lnUltimaTecla))+ALLT(THIS.DISPLAYVALUE)
  ENDIF
  IF EMPTY(lcMostrarValor)
    lcMostrarValor = ALLT(CHR(lnUltimaTecla))
  ENDIF
  FOR i = 1 TO THIS.LISTCOUNT
    IF UPPER(lcMostrarValor) = UPPER(SUBSTR(THIS.LIST(i),1,LEN(lcMostrarValor)))
      THIS.DISPLAYVALUE = THIS.LIST(i)
      IF LEN(ALLT(THIS.DISPLAYVALUE)) > LEN(lcMostrarValor)
        THIS.SELSTART = LEN(lcMostrarValor)
        THIS.SELLENGTH = LEN(ALLT(THIS.DISPLAYVALUE))-LEN(lcMostrarValor)
      ENDIF
      lcUltimoValorMostrado = THIS.DISPLAYVALUE
      lnUltimaSeleccion = THIS.SELSTART
      lnSeleccionados = THIS.SELLENGTH
      RETURN
    ENDIF
  ENDFOR
  THIS.DISPLAYVALUE = lcUltimoValorMostrado
  THIS.SELSTART = lnUltimaSeleccion
  THIS.SELLENGTH = lnSeleccionados
ENDIF