Efeito em Imagem ao passar o mouse
Ola galera, não sei muito de Delphi, e gostaria de saber se existe uma forma fácil de fazer isso.
Eu tenho um FORM aonde coloquei 4 imagem que ao clicar nelas se abre outro FORM, e gostaria que ao passar o mouse em cima da imagem houvesse algum destaque, como uma borda, efeito transparente, efeito lupa, enfim, para que o usuário veja que é possível clicar e que o mouse está em cima.
Eu tenho um FORM aonde coloquei 4 imagem que ao clicar nelas se abre outro FORM, e gostaria que ao passar o mouse em cima da imagem houvesse algum destaque, como uma borda, efeito transparente, efeito lupa, enfim, para que o usuário veja que é possível clicar e que o mouse está em cima.
Narba Silva
Curtidas 0
Respostas
Joel Rodrigues
22/09/2014
Você pode utilizar os eventos OnMouseEnter e OnMouseLave, por exemplo, da seguinte forma:
Isso aumenta a imagem ao passar o mouse sobre ela, e diminui ao tirar o mouse.
procedure TMainForm.Image1MouseEnter(Sender: TObject); begin (Sender as TImage).Width := (Sender as TImage).Width + 10; (Sender as TImage).Height := (Sender as TImage).Height + 10; (Sender as TImage).Left := (Sender as TImage).Left - 5; (Sender as TImage).Top := (Sender as TImage).Top - 5; end; procedure TMainForm.Image1MouseLeave(Sender: TObject); begin (Sender as TImage).Width := (Sender as TImage).Width - 10; (Sender as TImage).Height := (Sender as TImage).Height - 10; (Sender as TImage).Left := (Sender as TImage).Left + 5; (Sender as TImage).Top := (Sender as TImage).Top + 5; end;
Isso aumenta a imagem ao passar o mouse sobre ela, e diminui ao tirar o mouse.
GOSTEI 0
Narba Silva
22/09/2014
Eu estou usando o componente IMAGE, na aba ADDITIONAL, que não tem esses eventos que você disse, existe o evento OnMouseMove , mais não tem o evento que quando o mouse sai da imagem, ja tentei o MoveMouseDown, mais não é
GOSTEI 0
Joel Rodrigues
22/09/2014
Olá, o componente TImage possui sim esses eventos. Favor verifique se está usando o componente correto, e se realmente você não localizou esses eventos.
GOSTEI 0
Narba Silva
22/09/2014
Só se meu Delphi tive zuado, eu to usando o 7, e não tem mesmo
GOSTEI 0
Narba Silva
22/09/2014
[RESOLVIDO]
Depois de muito pensar consegui o que queria e fiz esse passo a passo :
Como colocar efeito Lupa Imagem
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
1) Deixa a imagem no tamanho que vc quer e nao mude mais.
-----------------------------------------------------------------------------------------------------
2) Em PROPERTIES va em Width e veja o valor que esta e guarde.
-----------------------------------------------------------------------------------------------------
3) Na imagem, em EVENTS , va em OnMouseMove e de 2 cliques para programar
-----------------------------------------------------------------------------------------------------
4) Coloque esse codigo:
if imagem_cadastro.Width = (tamanho do WIDTH da imagem) then
begin
(nome da imagem).Width := (nome da imagem).Width + 10;
(nome da imagem).Height := (nome da imagem).Height + 10;
(nome da imagem).Left := (nome da imagem).Left - 5;
(nome da imagem).Top := (nome da imagem).Top - 5;
end;
-----------------------------------------------------------------------------------------------------
5) Agora se vc colocou algo de fundo, como uma imagem por exemplo,
vc irá em EVENTS da imagem de fundo, agora se nao colocou nada va em EVENTS do form
-----------------------------------------------------------------------------------------------------
6) va em OnMouseMove e de 2 cliques para programar
-----------------------------------------------------------------------------------------------------
7) //no IF vc pode usar <> e o mesmo valor do tamanho que colocou acima ou como abaixo
Codigo:
if imagem_cadastro.Width = (tamanho do WIDTH da imagem SOME + 10) then
begin
(nome da imagem).Width := (nome da imagem).Width - 10;
(nome da imagem).Height := (nome da imagem).Height - 10;
(nome da imagem).Left := (nome da imagem).Left + 5;
(nome da imagem).Top := (nome da imagem).Top + 5;
end;
============
Obrigado a todos !
Depois de muito pensar consegui o que queria e fiz esse passo a passo :
Como colocar efeito Lupa Imagem
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
1) Deixa a imagem no tamanho que vc quer e nao mude mais.
-----------------------------------------------------------------------------------------------------
2) Em PROPERTIES va em Width e veja o valor que esta e guarde.
-----------------------------------------------------------------------------------------------------
3) Na imagem, em EVENTS , va em OnMouseMove e de 2 cliques para programar
-----------------------------------------------------------------------------------------------------
4) Coloque esse codigo:
if imagem_cadastro.Width = (tamanho do WIDTH da imagem) then
begin
(nome da imagem).Width := (nome da imagem).Width + 10;
(nome da imagem).Height := (nome da imagem).Height + 10;
(nome da imagem).Left := (nome da imagem).Left - 5;
(nome da imagem).Top := (nome da imagem).Top - 5;
end;
-----------------------------------------------------------------------------------------------------
5) Agora se vc colocou algo de fundo, como uma imagem por exemplo,
vc irá em EVENTS da imagem de fundo, agora se nao colocou nada va em EVENTS do form
-----------------------------------------------------------------------------------------------------
6) va em OnMouseMove e de 2 cliques para programar
-----------------------------------------------------------------------------------------------------
7) //no IF vc pode usar <> e o mesmo valor do tamanho que colocou acima ou como abaixo
Codigo:
if imagem_cadastro.Width = (tamanho do WIDTH da imagem SOME + 10) then
begin
(nome da imagem).Width := (nome da imagem).Width - 10;
(nome da imagem).Height := (nome da imagem).Height - 10;
(nome da imagem).Left := (nome da imagem).Left + 5;
(nome da imagem).Top := (nome da imagem).Top + 5;
end;
============
Obrigado a todos !
GOSTEI 0
Narba Silva
22/09/2014
resolvido
GOSTEI 0