Inicio > Delphi, Ejemplos > Color y alineación en celdas de un StringGrid

Color y alineación en celdas de un StringGrid

Miércoles, 5 de Marzo de 2008 Dejar un comentario Ir a comentarios
Share Button

Éste ejemplo muestra cómo programar el evento OnDrawCell de un TStringGrid para modificar la alineación y color de las celdas pertenecientes a una columna completa; Además implementa los metodos de Importar desde un fichero separado por comas e interacción con el portapapeles de filas completas (Cortar/Copiar/Pegar).

Imagen del ejemplo

En este ejemplo está el código necesario para:

  • Cambiar la alineacióin de las columnas del StringGrid (columnas 0, 1 2).
  • Cambiar el color de una columna.
  • Cambiar el color de una fila.
  • Realizar operaciones sobre el portapapeles con una o varias filas.
  • Cargar (Importar) datos a un StringGrid desde un fichero.

Download Descargar ejemplo

Share Button
Categories: Delphi, Ejemplos Tags: , ,
  1. david petrochelli
    Jueves, 24 de Junio de 2010 a las 20:24 | #1

    garcias por tu ayuda estaba buscando como usar estas componentes en delphi

  2. david petrochelli
    Jueves, 24 de Junio de 2010 a las 20:24 | #2

    gracias por tu ayuda estaba buscando como usar estas componentes en delphi

  3. Neftalí
    Viernes, 25 de Junio de 2010 a las 08:23 | #3

    @david petrochelli

    Hola David.
    En realidad no es un componente nuevo. Este ejemplo está hecho sobre el componente estandard de Delphi (StringGrid). En el ejemplo se muestra el código necesario para determinadas acciones sobre el StringGrid estandard de delphi (color, alineación,…)

    Un saludo.

  4. Luis Saldana
    Viernes, 15 de Octubre de 2010 a las 19:48 | #4

    Gracias por esta info. En la aplicación que estoy desarrollando uso una buena cantidad de componentes TStringGrid, pero hasta el momento todos están tal como viene ‘out of the box’. Voy a utilizar esto para alinear los importes numéricos.
    Pero hay algo con lo que me he topado que espero me puedas ayudar a aclarar. Cuando pongo mucha información en un TStringGrid como que se sale de su memoria asignada e impacta en otros datos. ¿hay algún límite de tamaño de la información en el TStringGrid?
    Gracias…

  5. Neftalí
    Lunes, 18 de Octubre de 2010 a las 09:22 | #5

    Hola Luis.
    No se a qué te refieres con lo de que “se sale de su memoria asignada”; Si te refieres a que el texto no cabe en la celda, creo recordar que a la hora de pintar el texto (si es que lo haces manualmente) se le puede especificar el cuadro del cual no debe salir.

    Un saludo.

  6. Jonathan
    Domingo, 7 de Noviembre de 2010 a las 15:46 | #6

    Sinceramente, muchisimas gracias. Ya me estaba empezando a doler la cabeza. Me salvaste… Saludos, suerte.

  7. Ander
    Viernes, 11 de Marzo de 2011 a las 13:59 | #7

    Te agradezco de veras esta información.Esta complicado encontrar algo sobre los StrinGrid, y me has solucionado varios problemas.Gracias

  8. Terrisoft
    Sábado, 16 de Abril de 2011 a las 16:51 | #8

    hola tengo un problema, y ya tengo dias, como puedo pintar de color clred el texto de una celda cuando la celda sea un valor a 5, es para trabajar con calificaciones.
    ejemplo:
    if stringgrid1.cells[]= ‘5’ then

    les agradesco su ayuda y me manden al correo, gracias

  9. Neftalí
    Domingo, 17 de Abril de 2011 a las 18:11 | #9

    @Terrisoft
    Hola Terrisoft.
    Si revisas el ejemplo deberías poder modificarlo para lo que necesitas. Si aun así no te aclaras, te recomiendo revisar en los foros del Clubdelphi (www.clubdelphi.com) donde encontrarás varias respuestas a esta pregunta:
    http://www.clubdelphi.com/foros/showthread.php?t=22652
    http://www.clubdelphi.com/foros/showthread.php?t=49553
    http://www.clubdelphi.com/foros/showthread.php?t=35101
    http://www.clubdelphi.com/foros/showthread.php?t=4672

    Si buscas en los foros, encontrarás bastantes más…

    Un saludo.

  1. Sin trackbacks aún.
What is 27 + 22 ?
Please leave these two fields as-is:
IMPORTANTE! Para continuar, debes contestar la pregunta anterior (para evitar SPAM) :-)