* 사용환경 : 델파이5 / Windows 2000
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
ImageOrgWndProc : TWndMethod;
procedure ImageWndProc( var Msg : TMessage );
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.ImageWndProc( var Msg : TMessage );
begin
case Msg.Msg of
CM_MOUSELEAVE:
begin
image1.Picture.LoadFromFile('C:아이콘1.ICO');
end;
CM_MOUSEENTER:
begin
image1.Picture.LoadFromFile('C:아이콘2.ICO');
end;
end;
ImageOrgWndProc(Msg);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ImageOrgWndProc := Image1.WindowProc;
Image1.WindowProc := ImageWndProc;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Image1.WindowProc := ImageOrgWndProc;
end;
end.
이렇게 하면 Image1부분에는 이미지가 바뀌미다. 이미지가 버튼역활을 합니다.
그런대 Image2,Image3......등을 바꿔려면 어떻게 하는가요?
제발 가르쳐 주세요
윈도우 프로시져는 공유할 수 없습니다. 공유하게 된다면 세개의 TImage가 똑같이 동작하죠.
Image2,Image3를 위한 윈도프로시져를 또 만들어야죠...
^^ 항상 즐코하세요.
초울트라초보 wrote:
> * 사용환경 : 델파이5 / Windows 2000
>
> unit Unit1;
>
> interface
>
> uses
> Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
> StdCtrls, ExtCtrls;
>
> type
> TForm1 = class(TForm)
> Image1: TImage;
> procedure FormCreate(Sender: TObject);
> procedure FormDestroy(Sender: TObject);
> private
> ImageOrgWndProc : TWndMethod;
> procedure ImageWndProc( var Msg : TMessage );
> public
> { Public declarations }
> end;
>
> var
> Form1: TForm1;
>
> implementation
>
> {$R *.DFM}
>
> procedure TForm1.ImageWndProc( var Msg : TMessage );
> begin
> case Msg.Msg of
> CM_MOUSELEAVE:
> begin
> image1.Picture.LoadFromFile('C:아이콘1.ICO');
> end;
> CM_MOUSEENTER:
> begin
> image1.Picture.LoadFromFile('C:아이콘2.ICO');
> end;
> end;
> ImageOrgWndProc(Msg);
> end;
>
> procedure TForm1.FormCreate(Sender: TObject);
> begin
> ImageOrgWndProc := Image1.WindowProc;
> Image1.WindowProc := ImageWndProc;
> end;
>
> procedure TForm1.FormDestroy(Sender: TObject);
> begin
> Image1.WindowProc := ImageOrgWndProc;
> end;
>
> end.
>
> 이렇게 하면 Image1부분에는 이미지가 바뀌미다. 이미지가 버튼역활을 합니다.
> 그런대 Image2,Image3......등을 바꿔려면 어떻게 하는가요?
> 제발 가르쳐 주세요