![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Quitar borde de selección a TStringGrid
Buenas tardes,
tengo un pequeño problemilla estoy seguro que podéis resolverlo. Me gustaría quitarle el borde que se genera alrededor de una celda que tienes seleccionada, en mi caso es un borde punteado. Esta es la captura: http://es.zimagez.com/zimage/captura440.php No se si se puede eliminar o cambiar el color, lo pondría del mismo color que el relleno y sobraría. Muchas gracias por vuestra ayuda. Un saludo! |
#2
|
||||
|
||||
Hola Catublipas.
Cita:
Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#4
|
||||
|
||||
Firemonkey o VCL?
|
#5
|
|||
|
|||
Estoy programandolo en VCL Form :P.
|
#6
|
||||
|
||||
Hola Catublipas.
Cita:
Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
|||
|
|||
Buenas ecfisa efectivamente con esto me deja pero me da los siguientes errores en el procedimiento procedure TStringGrid.Paint;
muchas gracias de nuevo! |
#8
|
||||
|
||||
Pon tu código.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#9
|
|||
|
|||
|
#10
|
||||
|
||||
Hola Catublipas.
Lo que sucede que has copiado mal... Esta es tu declaración de TStringGrid: Cita:
Cita:
Creo que el código final debería ser algo como esto:
Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#11
|
||||
|
||||
Otra alternativa es, si tu Delphi soporta los class helpers, es esto:
Luego, podes implementar el metodo Paint; Los class helper se agregaron justamente para no seguir utilizando el "truco" de la interposer class y resolver este tipo de problemas (acceder a funcionalidad protegida de una clase) de una manera mas elegante |
#12
|
|||
|
|||
Buenas, os comento
he probado las dos maneras la respuesta de ecfisa me da error en la declaracion del procedimiento Paint. Y he probado la respuesta de AgustinOrtu que no me da error en la declaracion de la clase TStringGrid pero me da el siguiente error:
Uso Delphi xe7 ¿tiene algo que ver? |
#13
|
||||
|
||||
Hola CatublipasPor los motivos que te expuse no puedo asegurarlo, pero es una posibilidad.
Para salir de dudas, proba este ejemplo que funciona correctamente en Delphi 7:
Muestra: ![]() Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 23-02-2016 a las 12:08:39. |
#14
|
|||
|
|||
Buenas ecfisa,
me ha funcionado al parecer me faltaba incorporar la libreria Vcl.grids, ya no me da el error pero no me quita el borde. Es posible que sea porque el StringGrid lo he creado en tiempo de diseño, o ¿no tiene nada que ver? Muchas gracias de veras por vuestra ayuda de nuevo! ![]() |
#15
|
||||
|
||||
Cita:
preceda (esté mas arriba) a la definición de la variable de tipo TStringGrid que uses en el formulario. Otra opción es que hagas una nueva unidad, y luego en el formulario en que la vayas a usar la incluyas en la última posición en el uses de la sección interface:
Nota: Para todos los casos toma en cuenta las diferencias que tiene Delphi XE7 con Delphi 7 cuando se hace referencia a las unidades y clases, vg.: Código:
Delphi 7 : Grids.TStringGrid Delphi XE7 : Vcl.Grids.TStringGrid ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#16
|
|||
|
|||
Perdón corrijo, no termina de quitar el borde jajajaja.
Os paso las imagenes a ver si se os ocurre algo. |
#17
|
|||
|
|||
He probado creando la unidad nueva, hago referencia en la otra unidad y sigo en las mismas, no me da problemas, pero sigue sin quitar el borde.
Por cierto he probado a desactivar Default Drawing pero es un caos aunque si que quita el borde, pero se desconfigura todo. Última edición por Catublipas fecha: 23-02-2016 a las 12:55:40. |
#18
|
||||
|
||||
La verdad, estoy imposibilitado de probar el código sobre XE7 así que ando a tientas
![]() Lo último que se me ocurre es que pruebes calificando la función DrawFocusRect:
Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#19
|
|||
|
|||
Ecfisa funciona perfecto, he hecho lo que has puesto y he desactivado el Default Drawing y va clavado!
Muchas gracias de nuevo! ![]() Un saludo! |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Radiogroup sin borde? | drykea | Varios | 3 | 19-08-2013 14:16:46 |
TPageControl sin borde | Jose Roman | OOP | 3 | 11-04-2013 20:02:33 |
quitar auto seleccion en una celda StringGrid | sakuragi | OOP | 0 | 01-06-2006 00:01:06 |
Borde de un Timage | NuncaMas | Gráficos | 2 | 06-12-2003 10:03:03 |
Quitar el Borde a un TDateTimePicker | Er_Manué | OOP | 0 | 13-05-2003 09:41:45 |
![]() |
|