Problème avec la création TPaintBox sur TPanel
Question
J'ai un petit problème. Je suis en train de créer un TPaintBox sur un TPanel comme ceci:
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;
Maintenant, si je change à Form1, le parent du PaintBox je peux voir la brosse. Mais, avec les parents a changé à Panel1, rien ne se passe. Toute idée de comment puis-je résoudre ce problème?
Merci à l'avance!
Pas de solution correcte
Autres conseils
TPanel est visible pour commencer?
En outre, TPaintBox ne dispose pas d'une propriété publique de Brush
(peut-être que vous pensez TShape?). TWinControl fait, mais TPaintBox est pas un descendant TWinControl. Il est un descendant TGraphicControl.
Oui, ce fut une erreur de la mienne. J'ai changé le code:
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;
mais sans succès .. je veux dire, si je laisse tomber un composant PaintBox à la forme alors le code prend effet comme il se doit, mais de créer dynamiquement un TPaintBox .... je sais pas.