FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
Tab Order
Hola, me estan solicitando un tema de Tab Order, quieren que cuando con la tecla tab se vayan moviendo por cada tecla la misma cambie de color porque no quieren usar tanto el mouse y no se dan cuenta donde se van posicionando...
Gracias. |
#2
|
|||
|
|||
Hola: Por cada tecla o cada edit o similar?
Podes usar los eventos OnEnter y On Exit de cada componente y cambiarle el color.. Saludos |
#3
|
||||
|
||||
shoulder,
Cita:
En el código anterior se resaltan los controles de entrada del formulario al momento de obtener el focus por medio de la propiedad OnActiveControlChange, lo cual incluye la tecla Tab, además al usar controles BitBtn con imágenes distintivas se destacan unos de otros y es más fácil determinar visualmente cual BitBtn tiene el focus activo en un momento dado. En el link anexo esta implementado el código anterior. El link es : http://terawiki.clubdelphi.com/Delph...trolChange.rar Espero sea útil Nelson. Última edición por nlsgarcia fecha: 19-11-2012 a las 19:34:23. |
#4
|
||||
|
||||
Hola.
Yo estoy de acuerdo con nlsgarcia, aunque aparentemente se teclea un poco más, el modo es mas contemplativo. Algo similar se planteó aquí hace unos meses, pero está limitado a determinados controles, o a realizar la evaluacion del control activo mediante una larga serie de if - then. Usando RTTI se puede reducir y flexibilizar el código para que contemple cualquier control que posea la propiedad TColor: De esta manera destacará tanto un Edit como un CheckBox, RadioButton, StringGrid, RichEdit,..., etc. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 19-11-2012 a las 20:39:37. Razón: ortografía |
#5
|
||||
|
||||
shoulder,
Siguiendo la idea de ecfisa del uso de RTTI, revisa este código: El código anterior cambia el color de cualquier control que tenga el focus activo si y solo si este tiene implementada la propiedad color. Esto lo hace de forma genérica por medio de RTTI (Run-Time Type Information) y la propiedad OnActiveControlChange que permite definir un manejador de evento para controlar el cambio de focus en un form. El código anterior se encuentra implementado en el siguiente link: http://terawiki.clubdelphi.com/Delph...e+con+RTTI.rar Espero sea útil Nelson. |
#6
|
||||
|
||||
Hola nlsgarcia.
Se hace ineficiente recorrer todos los controles del form dentro del evento que se dispara cada vez que cambia el control activo, para así obtener quien tiene el foco. Ese dato lo podemos tomar de la propiedad Screen.ActiveControl, que dentro del evento OnActiveControlChange, ya tiene al nuevo portador del foco de entrada. Basta con salvar previamente el control que lo poseía para restaurarlo al estado anterior y luego darle el color deseado al nuevo control activo. Que, si ocurre otro cambio de foco, pasará a ser el control que lo perdió y así, cíclica y sucesivamente con cada uno de ellos. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
order by descendente??? | pacuuy | SQL | 2 | 08-01-2008 00:13:17 |
Datetime y Order by. | ppb | SQL | 2 | 20-06-2005 13:16:14 |
Tab Order | kepacha | Varios | 5 | 31-01-2005 13:32:40 |
Order by | VRO | SQL | 6 | 31-08-2004 08:17:05 |
Order by ...... | chutipascal | Firebird e Interbase | 8 | 24-06-2003 14:46:21 |
|