Pintar no canvas
Estou usando o metodo draw para pintar uma imagem no canvas de um TCustomControl, porem quando ele sai da tela e volta a imagem desaparece, para que a imagem continue eu preciso sobreescrever o metodo WMPaint ? Ficar pintando a imagem toda hora nao iria consumir muito processamento ? Tipo, eu usava um timage no TCustomControl, mais pensei em melhorar meu component para consumir menos memoria e resolvi tirar o timage e pintar direto no canvas, alem de tirar os tlabels tbm e escrever com textout. Existe alguma outra maneira de fazer a imagem pintada com draw ficar nao desaparecer, inclusive se tiver barra de rolagem e rolar para fora da visao do componente depois voltar a imagem some tbm, alguem pode me ajudar ?
Obrigado
Emilio
Obrigado
Emilio
Emilio.cini
Curtidas 0
Respostas
Emilio.cini
31/12/2003
ninguem tem uma ideia ai nao ??? :lol:
GOSTEI 0
Beppe
31/12/2003
Quando você pinta uma coisa num canvas, isto persiste até que o canvas seja sobrescrito. Se este canvas vem de um TImage, a imagem do canvas não é perdida quando o controle é, mesmo que totalmente, oculto. Isto se deve ao fato de que o canvas do TImage é próprio, baseado em um TBitmap. Já um TCustomControl compartilha uma área do canvas do desktop, então você precisa informá-lo quando deve ser repintado.
Em suma, você soprepõe o método protegido Paint, e coloca o código que pinta ali.
Em suma, você soprepõe o método protegido Paint, e coloca o código que pinta ali.
GOSTEI 0
Emilio.cini
31/12/2003
Tem como eu definir para o canvas so for pintado quando eu chamar a funcao paint, pra nao ficar atualizando sozinho ?
GOSTEI 0
Beppe
31/12/2003
Bem, não tem sentido fazer isso, afinal você não quer que fiquem apagadas algumas partes...
GOSTEI 0
Nigro
31/12/2003
ondee posso conseguir o código para desenvolver uma ferramenta que faz a pintura dentro de um poliigono, como aquela do Paint?
GOSTEI 0