Problema con la creación de TPaintBox tpanel
Pregunta
Tengo un pequeño problema. Estoy intentando crear un TPaintBox en un TPanel como esto:
procedure TForm1.mkPaint(S: string);
var PB: TPaintBox;
begin
PB := TPaintBox.Create(Self);
with PB do
begin
Parent := Panel1;
Visible := True;
Name := S;
Height := 100;
Width := 100;
Left := 8;
Top := 8;
// ParentColor := False;
Brush.Style := bsSolid;
Brush.Color := $00000000;
end;
Application.ProcessMessages;
end;
Ahora, si cambio de Padres de la PaintBox a Form1, puedo ver el cepillo. Pero, con el padre cambió a Panel1, no pasa nada. Cualquier idea de cómo puedo solucionar este problema?
Gracias de antemano!
No hay solución correcta
Otros consejos
Es la TPanel visibles para empezar?
Además, TPaintBox no tiene una propiedad Brush
pública (tal vez usted está pensando en TShape?). TWinControl hace, pero TPaintBox no es un descendiente TWinControl. Es un descendiente TGraphicControl.
Si, eso fue un error mío. He cambiado el código para:
pb := TPaintBox.Create(self);
with pb do begin
Parent := Form1;
Visible := true;
Top := 1;
Left := 1;
Width := 250;
Height := 100;
ParentColor := false;
Canvas.Brush.Color := clBlack;
Canvas.Font.Size := 12;
Canvas.Font.Color := clWhite;
Canvas.FillRect(ClientRect);
Canvas.TextOut(1, 1, 'test');
end;
pero sin éxito .. Es decir, si se me cae un componente PaintBox a la forma a continuación, el código está haciendo efecto como debería hacerlo, pero crear dinámicamente un TPaintBox .... No sé.