Fórum Componentes #362506

14/08/2008

0

Bom dia pessoal.....


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

Wdrocha

Responder

Posts

14/08/2008

Discorpio

Bom dia WDRocha.

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.


Responder

Gostei + 0

14/08/2008

Wdrocha

Bom dia...

Realmente no Delphi 7 não existe o evento MouseLeave.... e como eu configuraria este evento???


Mt obrigado pela força Discorpio....



Vlw


Responder

Gostei + 0

14/08/2008

Discorpio

Bom dia... Realmente no Delphi 7 não existe o evento MouseLeave.... e como eu configuraria este evento??? Mt obrigado pela força Discorpio.... Vlw


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.


Responder

Gostei + 0

14/08/2008

Wdrocha

Vlw cara....


consegui...simples...



Obrigado,

vlw


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar