Hola Muchachos, tuve un problema con la ultima actualización 3.18 y me cambiaron las funcionalidades principalmente de los malditos combobox.... otra vez sopa, que si bien reemplace muchos por el control comboseek de Shordi, me quedaron un par que como eran readonly los usaba al pulsar una tecla rápidamente me encontraba en item que quería
ejemplo: lista.
1.lapiz
2.goma
3.hojas
4.lapicera
yo simplemente al pulsar 1 al instante me lo mostraba y podía cambar y elegir con las teclas numéricas solo pulsando una vez
pues ahora no anda mas así al pulsar una tecla con la lista cerrada no hace nada de nada; asi que mis opciones son volver a la 3.17 de Gambas y dejar de actualizar (no me gusta) o hacer mi propio listview que al pulsar solo una tecla se mueva por la lista sin que filtre los que no coinciden, trate con varios controles el listview parece el mas amigable pero no se que propiedad usar para que haga esto, no se si tiene alguna forma de búsqueda estos controles o mejor dicho no logro hacerlos andar porque la documentación es escasa.
que me pueden recomendar para encaminar mi idea y deshacerme de los malditos combobox
desde ya muchas gracias
(03-04-2023, 22:12)ferchobahia escribió: [ -> ]que me pueden recomendar para encaminar mi idea y deshacerme de los malditos combobox
Hola Fercho.
Reemplazar los comboboxes por otro control es posible pero depende de cada caso.
Por ejemplo en un programa que hice una vez para editar registros de una base de datos, usaba un textbox para escribir texto "nuevo" y un list view para seleccionar datos existentes en la base filtrando de acuerdo a lo que escribía en el textbox.
Lo mejor para intentar resolver el tema es que subas un proyecto de ejemplo o el programa que estas haciendo para que hacer pruebas.
Espera un poquito y modifico ComboSeek para que se comporte así con el ReadOnly
Saludos
(04-04-2023, 09:14)tincho escribió: [ -> ] (03-04-2023, 22:12)ferchobahia escribió: [ -> ]que me pueden recomendar para encaminar mi idea y deshacerme de los malditos combobox
Hola Fercho.
Reemplazar los comboboxes por otro control es posible pero depende de cada caso.
Por ejemplo en un programa que hice una vez para editar registros de una base de datos, usaba un textbox para escribir texto "nuevo" y un list view para seleccionar datos existentes en la base filtrando de acuerdo a lo que escribía en el textbox.
Lo mejor para intentar resolver el tema es que subas un proyecto de ejemplo o el programa que estas haciendo para que hacer pruebas.
gracias tincho, yo probe llenando un listview con una consulta y le asigne el id de la BD como key, y capturo la tecla en evento keyrelease, pero no termino de lograr que se mueva el cursor interno del listview a la posicion que quiero para dejarla seleccionada en la lista porque son muy dificiles de encontrar porque la funcion moveto no me mueve nada y eso es lo que me esta confundiendo . luego subo un codigo para que se vea el problema
(04-04-2023, 10:26)Shordi escribió: [ -> ]Espera un poquito y modifico ComboSeek para que se comporte así con el ReadOnly
Saludos
no shordi, no te pido tanto es un monton; solo con alguna manito para mover por codigo la seleccion de un control tipo list o grid me basta
pero sos muy amable y siempre veo todos los videos de youtube, un genio
resumido la parte de BD y demas este codigo es mas o menos lo que tengo, hay que poner un control listview1 y este codigo:
Código:
Public Sub Form_Open()
Dim c, a As Integer
Dim Clave, id As String
For a = 0 To 9
Clave = c & " Item"
ListView1.Add(CStr(c), Clave)
c = c + 1
Next
End
Public Sub ListView1_KeyRelease()
Dim tecla As Integer = Key.Code
Print "key interno " & ListView1.Key 'esto me da el idcolor donde esta el registro posicionado
Print "tecla pulsada: " & Chr$(tecla)
ListView1.MoveTo(Chr$(tecla))
ListView1.MoveCurrent
Catch
Print Error.Text
End
y quiero que al pulsar las teclas del 0 al 9 el list se mueva pero no lo logro
ListView es un control basado en Treeview y hereda, claro, toda su complejidad. Tiene dos cursores, el interno, que es el que manejas con MoveTo y el externo, que es el mostrado (nunca he entendido muy bien para qué, pero por algo será, supongo)
Cambia en el evento keyrelease que has publicado las acciones de move por la asignación de la clave así:
GAMBAS
Print "key interno " & ListView1.
Key 'esto me da el idcolor donde esta el registro posicionado
Por otra parte, si no vas a incorporar iconos a los items, ListView no es el control adecuado para eso, utiliza mejor ListBox, que es más simple.
Saludos
(05-04-2023, 10:16)Shordi escribió: [ -> ]ListView es un control basado en Treeview y hereda, claro, toda su complejidad. Tiene dos cursores, el interno, que es el que manejas con MoveTo y el externo, que es el mostrado (nunca he entendido muy bien para qué, pero por algo será, supongo)
Cambia en el evento keyrelease que has publicado las acciones de move por la asignación de la clave así:
GAMBAS
Print "key interno " & ListView1.
Key 'esto me da el idcolor donde esta el registro posicionado
Por otra parte, si no vas a incorporar iconos a los items, ListView no es el control adecuado para eso, utiliza mejor ListBox, que es más simple.
Saludos
buenisimo anda como queria!! muchas gracias no puedo creer que era tan simple y no me daba cuenta, me volvi loco con el cursor interno de gusto
(05-04-2023, 12:19)tincho escribió: [ -> ]Propongo este código.
GAMBAS
' Gambas class file
ListView1.
Add(CStr(k
),
"Texto " & CStr(k
))
ListView1.MoveTo(sKey)
ListView1
[sKey
].
Selected = True ListView1.Refresh
perfecto muchas gracias tincho, es una buena solucion mas completa; hay rutinas y metodos que estan buenos para tener en cuenta