FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
||||
|
||||
StringGrid
Hola Delphianos tengo una aplicacion que contiene bastantes stringGrid a los cuales me gustaria incorporar la opcion deshacer cuando estan editando alguna grilla ¿Se le ocurre como?
Estoy abierto a cualquier sugerencia Gracias |
#2
|
|||
|
|||
Puedes crear una clase descendiente de TObject, con una propiedad del tipo adecuado para mantener el valor correcto de una celda.
A través de la propiedad Objects del TStringGrid, le asignas una instancia de dicha clase a cada celda. Finalmente, intercepta el evento OnKeyPress, para que cuando pulsen, por ejemplo, INTRO almacenas en la instancia de la clase el valor actual de la celda, pero que cuando pulsen, por decir ESC, recuperas el valor almacenado en la instancia y lo copias en la celda. Espero haberme explicado bien, y te sirva de ayuda. P.D.: Si utilizas esto a menudo y siempres usas en mismo tipo de valor para las celdas, por ejemplo Strings, puedes crear un componente que descienda de TStringGrid donde automatizas todo este procedo. Además, podrías interceptar otros eventos y teclas para detectar si se cambia de celda con el ratón o las flechas del cursor, sin pulsar ENTER. |
|
|
|