 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
robertorro Aprendiz

Registrado: Domingo, 12 de Junho de 2005 Mensagens: 151
|
Enviada: Ter Abr 23, 2019 9:52 am Assunto: Canvas em Panel criado dinamicamente |
|
|
Olá pessoal. Estou com um problema. Não consigo usar o canvas em um panel criado dinamicamente, quando uso o canvas em um panel ja criado no formulario ele pinta a string "TESTE CANVAS". Existe algo feito errado na criação dessa panel?
var
PanelDInamico:TPanel;
begin
PanelDinamico := TPanel.Create(self);
with PanelDinamico do
begin
Parent := scr;
Caption := '';
left := 100;
top := 60;
Height := 40;
Width := 100;
Align:=alTop;
Tag:=100;
Color:=clWhite;
Name:='pnl_100';
end;
with TControlCanvas.Create do
begin
Control := PanelDinamico;
Font.Color := RGB(24, 127, 222);
Font.Size := 11;
Font.Name := 'Segoe UI Light';
Font.Style := [fsBold];
TextOut(10, 10, 'TESTE CANVAS');
Free;
end; |
|
| Voltar ao Topo |
|
 |
ric_rio2 Aprendiz


Registrado: Segunda-Feira, 1 de Outubro de 2018 Mensagens: 108
|
Enviada: Qua Abr 24, 2019 8:56 am Assunto: |
|
|
Bom dia Robertorro.. tudo certim??
Cara..interessante essa sua duvida.
coloquei o código aqui e realmente isso acontece..
Depois de um tempo pensando e lendo o link abaixo que é muito legal...fiz o seguinte..
https://stackoverflow.com/questions/28491069/delphi-cant-draw-on-panels-canvas
1º - Coloquei o PanelDInamico : TPanel como publico
2º - Criei uma procedure ESCREVE com o codigo do canvas que NÃO estava saindo
| Código: | Procedure TFoInicio.Escreve;
begin
with TControlCanvas.Create do
begin
Control := PanelDinamico;
Font.Color := RGB(24, 127, 222);
Font.Size := 11;
Font.Name := 'Segoe UI Light';
Font.Style := [fsBold];
TextOut(10, 10, 'TESTE CANVAS');
Free;
end;
end;
|
3º - no Codigo que cria o Panel PanelDInamico chamo a procedure ESCREVE
| Código: | PanelDinamico := TPanel.Create(Self);
with PanelDinamico do
begin
Parent := FoInicio;
Caption := '';
left := 100;
top := 60;
Height := 200;
Width := 100;
Align:=alTop;
Tag:=100;
Color:=clWhite;
Name:='pnl_100';
end;
Application.ProcessMessages;
Escreve; |
Dessa forma funciona legal..
Espero que sirva para ti..
Qualquer coisa é só falar
Abraços  |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|