Fórum Componentes #362506
14/08/2008
0
Eu tow atrás de um componente tipo TImage...
Exemplo...
Quero por uma imagem no compoente e....qdo passar o mouse por cima....quero q o mesmo mude d tamanho como se abrisse pra fora...
entenderam???
se alguém tiver algum componente ou alguma dica....ficaria mt grato...
Vlw...
Wdrocha
Curtir tópico
+ 0Posts
14/08/2008
Discorpio
Na verdade voce pode dar um Zoom no próprio componente TImage, basta que voce configure a sua propriedade Stretch como True para que a imagem tome as dimensões do TImage.
Feito isso voce vai agora utilizar os eventos OnMouseMove e OnMouseLeave do TImage, basta logo após configurar a sua Imagem no TImage, ir no Object Inspector e na aba Events selecionar os Eventos acima clicando duas vezes nas respectivas combos dos eventos e codificando assim:
Antes porém devemos declarar duas variáveis que vão fixar o TImage, quando ele voltar a posição original. Em suma o código todo do seu Form vai ficar assim:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure Image1MouseLeave(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
ALeft, ATop: Integer;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
ALeft := Image1.Left;
ATop := Image1.Top;
end;
procedure TForm1.Image1MouseLeave(Sender: TObject);
begin
Image1.SetBounds(ALeft, ATop, 80, 80);
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Image1.SetBounds(ALeft-50, ATop-50, 180, 180);
end;
end.
Caso a sua versão do Delphi não contiver o evento OnMouseLeave no componente TImage, basta configurar o mesmo código desse evento no Evento OnMouseMove do Formulário, que o efeito será o mesmo.
Gostei + 0
14/08/2008
Wdrocha
Realmente no Delphi 7 não existe o evento MouseLeave.... e como eu configuraria este evento???
Mt obrigado pela força Discorpio....
Vlw
Gostei + 0
14/08/2008
Discorpio
Boa tarde.
Simples, como disse antes, configure o Evento OnMouseMove do Form, com o mesmo código do OnMouseLeave do TImage.
Quando tirar o ponteiro do mouse do Image, obrigatoriamente vai passá-lo sobre o Formulário, então é só configurar o evento do OnMouseMove do Form.
Gostei + 0
14/08/2008
Wdrocha
consegui...simples...
Obrigado,
vlw
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)