ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Canvas em Panel criado dinamicamente

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
robertorro
Aprendiz
Aprendiz


Registrado: Domingo, 12 de Junho de 2005
Mensagens: 151

MensagemEnviada: Ter Abr 23, 2019 9:52 am    Assunto: Canvas em Panel criado dinamicamente Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
ric_rio2
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 1 de Outubro de 2018
Mensagens: 108

MensagemEnviada: Qua Abr 24, 2019 8:56 am    Assunto: Responder com Citação

Bom dia Robertorro.. tudo certim?? Smile
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.. Smile
Qualquer coisa é só falar
Abraços Smile
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB