Ir para conteúdo
Fórum Script Brasil
  • 0

Canvas


Guest - Thales -

Pergunta

Guest - Thales -

Quando eu desenho alguma coisa no canvas do form ou de um paintbox, quando eu arrasto a janela e o desenho ultrapassa o limite da tela, quando eu arrasto de volta pra tela a parte do desenho que ultrapassou some. Como eu resolvo esse problema? Sei que é possivel porque já ví programas que utilizam paintboxes e isso não ocorre. Obrigado galera!

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

simples, no OnPaint do form ou do Paintbox, faz os metodos que você quer desenhar, assim, todas vez que o form for repintado, ele repintara essa imagem que você quer.

mas, tambem tem outro jeito de fazer

eu fiz, o link para o download está abaixo, o código está tudo explicadinho:

http://www.bestsharing.com/files/ms0017653...intbox.zip.html

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Thales -

Eu entendí o seu exemplo, mas dá uma olhada no exemplo que vem com o delphi eu acho que está em delphi\demos\threads\thrddemo.dpr...... Acho que ele num fez desse jeito que você explicou não. Esse exemplo tem 3 paintboxes que ele usa pra representar o vetor...... olha lá.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Thales -

Desculpe, eu dei uma olhada lá, é daquele jeito mesmo que você falou. Agente tem que ter uma variavel a parte que representa oque está desenhado pra todavez que mover agente desenhar ela denovo. Foi mal.

Link para o comentário
Compartilhar em outros sites

  • 0
Mas se eu for escrever um componente derivado do TGraphicControl eu vou precisar fazer isso também?
Acho que não. Voce deriva seu componente do TGraphicControl e sobrescreve o procedimento Paint (chamado quando é necessário repintar o componente). Por ex.:

...
type
  TGControl = class(TGraphicControl)
  protected
    procedure Paint; override;
  end;
...
procedure TGControl.Paint;
begin
  // aqui dentro você desenha o que quiser
  Canvas.RoundRect(0, 0, width, height, 5, 5);
end;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...