Apagar um componente TImage em tempo de execução
Por favor,...
me ajudem,...
como apagar um timagem em tempo de execução?
criar é fácil agora apagar ta osso,....
me ajudem,...
como apagar um timagem em tempo de execução?
criar é fácil agora apagar ta osso,....
Douglas Morette
Curtidas 0
Respostas
Maikel
12/02/2009
Olá...
Mas você precisa mesmo excluir ele? nunca fiz isso.... nem sei se é possivel...
Você não consegue deixar ele como visible:=false ?
Se for para não exibir na tela.... oculta ele, creio que é mais prático.
Att
Maikel
Mas você precisa mesmo excluir ele? nunca fiz isso.... nem sei se é possivel...
Você não consegue deixar ele como visible:=false ?
Se for para não exibir na tela.... oculta ele, creio que é mais prático.
Att
Maikel
GOSTEI 0
Douglas Morette
12/02/2009
Olá...
Mas você precisa mesmo excluir ele? nunca fiz isso.... nem sei se é possivel...
Você não consegue deixar ele como visible:=false ?
Se for para não exibir na tela.... oculta ele, creio que é mais prático.
Att
Maikel
Desde já agradeço pela atenção...
Mas... preciso apagar sim.
motivo: tenho uma imagem e nesta imagem eu clico em um determinado ponto e crio um marcador TImagem em cima desta imagem, é como se fosse uma legenda de ícones. eu escolho o ícone e clico em um ponto da imagem para criar o ícone da legenda que eu escolhi. só que se eu criar o icone errado, eu tenho que apagar ele...
dá para entender?
GOSTEI 0
Maikel
12/02/2009
Entendi... acho que o código a seguir resolve o problema então... adapte sua forma de criação de componente em runtime e veja como remove-los.
Att
Maikel
procedure TForm1.btCriarClick(Sender: TObject); var campo : TEdit; begin Campo := TEdit.Create(Self); campo.Parent := Self; campo.Top := btCriar.Top + 40; campo.Left := btCriar.Left; campo.Name := ´Edit1´; end; procedure TForm1.btExcluirClick(Sender: TObject); var Campo: TComponent; begin Campo := FindComponent(´Edit1´); if not (Campo = nil) then begin Campo.Free; end; end;
Att
Maikel
GOSTEI 0
Maikel
12/02/2009
Entendi... acho que o código a seguir resolve o problema então... adapte sua forma de criação de componente em runtime e veja como remove-los.
Att
Maikel
procedure TForm1.btCriarClick(Sender: TObject); var campo : TEdit; begin Campo := TEdit.Create(Self); campo.Parent := Self; campo.Top := btCriar.Top + 40; campo.Left := btCriar.Left; campo.Name := ´Edit1´; end; procedure TForm1.btExcluirClick(Sender: TObject); var Campo: TComponent; begin Campo := FindComponent(´Edit1´); if not (Campo = nil) then begin Campo.Free; end; end;
Att
Maikel
GOSTEI 0
Woinch
12/02/2009
Se você quer remover o componente TImage que foi criado em tempo de execução basta dar um FreeAndNil(Nome); Caso você queira apagar apenas um pedaço da imagem que foi criado pelo Canvas o único jeito será utilizando o próprio Canvas para redesenhar a imagem onde você desenhou outra por cima antes.
GOSTEI 0
Douglas Morette
12/02/2009
Entendi... acho que o código a seguir resolve o problema então... adapte sua forma de criação de componente em runtime e veja como remove-los.
Att
Maikel
procedure TForm1.btCriarClick(Sender: TObject); var campo : TEdit; begin Campo := TEdit.Create(Self); campo.Parent := Self; campo.Top := btCriar.Top + 40; campo.Left := btCriar.Left; campo.Name := ´Edit1´; end; procedure TForm1.btExcluirClick(Sender: TObject); var Campo: TComponent; begin Campo := FindComponent(´Edit1´); if not (Campo = nil) then begin Campo.Free; end; end;
agradeço a todos a atenção
resolvido esse problema
e qual era? -> eu criava um timagem com um função de deleção chamando-a pelo onclick da timagem criada, ai quando eu clicava em cima da imagem a ser excluida, excluia e dava erro pq tinha um evento onclick direcionado para aquela timagem... mas resolvido e obrigado mesmo.......
mais já vou deixar uma e essa eu nunca fiz mais preciso saber:
Como dar um printscreen em uma determinada parte da tela e e salva em um arquivo de imagem?
desde já agradeço...
GOSTEI 0
Woinch
12/02/2009
Criei agora, não testei...
PS: Quando for perguntar algo que foge do assunto inicial do tópico original favor criar um novo tópico para que o fórum fique melhor organizado.
Muito obrigado...
keybd_event(VK_SNAPSHOT, 0, 0, 0); Sleep(100); Image1.Picture.LoadFromClipBoardFormat(CF_BITMAP, ClipBoard.GetAsHandle(CF_BITMAP),0); Image1.Picture.SaveToFile(´C:\nome do arquivo.bmp´);
PS: Quando for perguntar algo que foge do assunto inicial do tópico original favor criar um novo tópico para que o fórum fique melhor organizado.
Muito obrigado...
GOSTEI 0
Alexcyberstar
12/02/2009
Ja tentou assim?
Image1.Picture := nil;
Image1.Picture := nil;
GOSTEI 0
Alexcyberstar
12/02/2009
Explicando melhor....
Image1.Picture := nil; //Limpa imagem no Image1 apresentada
FreeAndNil(Image1); //Elimina o componente Image1 do Form
Image1.Picture := nil; //Limpa imagem no Image1 apresentada
FreeAndNil(Image1); //Elimina o componente Image1 do Form
GOSTEI 0