PDA

Ver la Versión Completa : QRRichText una fila de cada color


vivamotos
23-09-2008, 11:18:57
Saludos,

Estoy haciendo un quickreport y me preguntaba como se puede hacer para pintar una fila de cada color.

Es decir que la fila 1 del QRRichText1 tenga el color rojo, pero la fila 2 tenga el color azul.

Grácias.

Lepe
23-09-2008, 16:36:57
Hace tiempo que no uso los QR, pero en fin.

Puedes usar un DBRichedit y jugar con sus propiedad SelAtributtes. Básicamente modificas esa propiedad y fuente para poner el color azul, ahora todo el texto que añadas usará las propiedades establecidas (subrayado, cursiva, color del texto, sangría de página, etc).

Una vez que tienes el texto como quieres, debes guardarlo en la Base de datos (supongo que como un campo Blob), desde QuickReport, solo tendrías que poner el campo y datasource apropiado.

Si el texto ya lo tienes almacenado y quieres colorearlo al imprimir, no puedo ayudarte.

Saludos

macedo_mx
13-02-2014, 05:48:27
Debes programar dentro del evento BeforePrint de la banda que quieres resaltar, he aqui el codigo.

procedure TFCuentasCobrar.DetailBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
if QRECuentasCobrar.DataSet.RecNo Mod 2 = 0 then
Sender.Color:= $00E5E5E5
Else
Sender.Color:= clWhite;
end;

posteriormente debes programar en el evento OnPrint de los QrdbText. el codigo es el siguiente

procedure TFCuentasCobrar.QRDBText1Print(sender: TObject;
var Value: String);
begin
if QRECuentasCobrar.DataSet.RecNo Mod 2 = 0 then
(Sender as TQRDBText).Color:= $00E5E5E5
Else
(Sender as TQRDBText).Color:= clWhite;
end;

para q no escribas codigo de mas, puedes hacer referencia al mismo envento por cada qrdbtext en el inspector de objetos. espero te sirva.