Ver Mensaje Individual
  #4  
Antiguo 17-04-2007
[QuarkBcn] QuarkBcn is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Barcelona
Posts: 92
Reputación: 20
QuarkBcn Va por buen camino
Veamos intento explicar lo que hago con mas detalle

LblVal[i]:= TQRLabel.Create(DetailBand1);
with LblVal[i] do begin
Parent := DetailBand1;
Autosize := TRUE;

//Fijo la posiciones para el ejemplo. En el caso real se calculan
Top := 20;
Left := 30;

NOTA: Top y Left se calculan y colocan correctamente en esta funcion.
cada LBLval[i] tiene sus propias posiciones.

//Este caption lo coloco para ver si las etiquetas se colocan correctamente y efectivamente lo hacen.
caption := '('+intToStr(i) + IntToStr(x)+')';

en el OnNeedData del Qreport llamo a otra funcion que contiene la info a colocar en el caption, y es aqui, donde el top y el left no se corresponden con la LBLval[i] que estoy asignando, sino con los valores de la ultima etiqueta creada en la funcion anterior.

Como ejemplo deciros que si la ultima etiqueta creada, supongamos que es
Lblval[5].top := 20
Lblval[5].left := 120

al usar la etiqueta; en el OnNeedData del report, por ejemplo la primera etiqueta del array:

Lblval[0].top vale 20
LblVal[0].left vale 120 (Es decir los valores de la ultima etiqueta creada)

Cuando por ejemplo en su creación valian
Lblval[0].top = 20
LblVal[0].left = 10


Bueno ... espero se me entienda algo mejor

Gracias de nuevo por vtra ayuda !!!
Responder Con Cita