Insertar linebreak en tiempo de ejecución
Tengo un problema al querer insertar un salto de linea en el caption de un header de la columna de un TNextGrid; la colección no tiene una propiedad WordWrap pero aún así en tiempo de diseño con un simple Ctrl+Enter se consigue el objetivo de separar las lineas donde uno desee:
Pero en tiempo de ejecución al crear las columnas dinamicamente no hay forma de insertar ese linebreak; concatenar #13#10 solo inserta un par de cuadritos en el encabezado ¿alguien se ha topado con algo similar?, PD. pensé copiar el salto de linea y colocarlo directamente en la variable (como lo he hecho por ejemplo en T-SQL para ubicar los saltos de linea) pero Delphi marca un error. |
Si, pero la solucion es muy facil, mira:
Nota: recorda que el Alto debe ser suficiente para visualizar ambas lineas, sino solo seguiras viendo una linea. Ejemplo de uso:
Saludos |
Si quieres escribir menos, no uses el chr, y ponlo durectamente.
Eje:
#10 salta de linea y #13 retorna el carro al principio de linea (normalmente lo hace sin el #13 Osea, solo bastaria poner un #10, poniendo #10#10#10 te salta 3 lineas. saludos. PD: ignora esto, no habia visto el final de tu post, sorry. |
Cita:
Eso es lo que me extraña, que en tiempo de diseño si lo hace y en ejecución no :( |
Probastes la solucion que te daban mas arriba?
|
La de poner la concatenación en una función? mmmm, no, ya que debe dar el mismo resultado ...
pero nomás por no dejar dejo lo hago ..... :D EDITO: Lo dicho, hace exactamente lo mismo. ¿Qué diferencia habrá? mmmmmm ¿por qué esos cuadros si lo hago durante la ejecución del programa ....? EDITO2: Pues he estado jugando con esa función un rato .... ¡y ya funcionó! .... aún no entiendo la lógica del asunto ... si el contenido de la función lo coloco dentro de la rutina no lo hace pero fuera si ...., igual si le mando de parámetros el resultado de otra rutina no lo hace pero si le mando variables estring si ... en fin, lo bueno es que finalmente funcionó .... ¡gracias a ambos! |
Cita:
Gracias. Al González. :) |
Pues mira .... como mencioné estuve "trasteando" un poco diferentes formas para encontrar algo que funcionará, la función a primera instancia no funcionó de esta forma:
Donde dejé el código que elimina las columnas para volverlas a crear, cuando dije que ya funcionaba fue por que entre prueba y prueba comenté ese FOR. Luego cai en cuenta que si funcionaba al actualizar columnas ya creadas y no cuando eran columnas generadas al vuelo, pero ya no postie eso por que definitivamente tenia que ser algo difernte entre las columnas creadas por código y las que cree en tiempo de diseño. Poco después de analizarlo vi que mi error era que debía colocar en true la propiedad Multiline de Header :(. Ya con este cambio el clásico #13#10 funciona perfectamente. La verdad este fue un error tonto que me ocurrió por hacer un nuevo proyecto usando un ejemplo como plantilla, no volverá a ocurrir :o |
No te preocupes, mi inquisición fue en aras de evitar la concepción de un mito. :)
|
La franja horaria es GMT +2. Ahora son las 16:01:29. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi