Ver Mensaje Individual
  #1  
Antiguo 21-09-2010
ElDuc ElDuc is offline
Miembro
 
Registrado: jul 2004
Posts: 197
Reputación: 20
ElDuc Va por buen camino
¿Cuando puedo acceder a las variables de un objeto?

Buenos días madrugadores,

Bueno eso es para los que visitan el foro desde España y en este momento, para los demás Buenos/as lo que proceda.

Estoy haciendo un componente derivado de un TImage y dentro del método Create de éste nuevo componente intento dibujar un recuadro que utilice toda la extensión del componente (en tiempo de diseño lo dimensiono de 200x200 pixels), para lo que hago:

Código Delphi [-]
 
    // CLASS TmyComponent ======================================================================================
    TmyComponent= Class(TImage)
    Private
    Public
        Constructor Create(aOwner: TComponent); Override;
        Destructor Destroy; Override;
    Published
    End;

 
Constructor TmyComponent.Create(aOwner: TComponent);
Begin
    Inherited Create(aOwner);
    Canvas.Pen.Color := clBlack;
    Canvas.Brush.Color := clWhite;
    Canvas.Rectangle(0, 0, Width, Height);
End;

Sin embargo esto me dibuja un rectángulo de 105x105, es como si esas medidas fueran las definidas por Delphi y en realidad todavía no se conocen las reales (200x200).

ENtonces ¿cuando puedo dibujar Canvas.Rectangle(0, 0, Width, Height) y que el rectángulo sea de 200x200, es decir ¿en qué momento Width y Height tienen los valores correctos? y ¿cómo puedo conocer ese momento?

Por el momento he puesto un timer a 50 ms y cuando se dispara Width y Height ya tienen el valor 200, pero me parece una chapuza, ¿verdad?

Como siempre agradeceré que intentéis ayudarme.

Saludos.
Responder Con Cita