Q&A

  • 이벤트 핸들러간의 데이터 공유방법을 알려주십시요...
제가 요번에 하는 것은요 이미지를 놓고 버튼을 클릭하면,

그 이미지가 해당 방향으로 움직이는 것입니다.

그래서 그 이미지의 기준 좌표를 두고 각 방향 클릭시마다 해당 좌표만

증가 또는 감소 시켜서 이미지를 계속 움직이는 것입니다.



그래서 시작버튼을 누르면 초기 위치를 주고요,

각 방향버튼을 클릭할때마다 X,Y좌표를 증가 감소 시켰습니다.

그래서 시작버튼의 이벤트 핸들러에다가 각 방향버튼의 이벤트 핸들러를

포함하는 것까지는 했는데, 변수데이터는 공유가 안되더군요....



이걸 함수를 쓰듯이 데이터를 같이 쓸수는 없을까요?

함수나 전역변수를 쓰지 않고 말입니다.



procedure TForm1.StartClick(Sender: TObject);

var

x1,x2,y1,y2:Integer;

Position:TPoint;

begin

Foward.OnClick(Sender); { 이미지를 위로이동}

Backward.OnClick(sender);

Left.OnClick(sender);

Right.OnClick(sender);

x1:=150; {초기 위치설정}

y1:=150;

x2:=200;

y2:=200;

Image1.Canvas.FillRect(ClientRect);

Position:=Image1.Canvas.PenPos;

Image1.Canvas.MoveTo(x1,y1);

Image1.Canvas.Rectangle(x1,y1,x2,y2);

end;



procedure TForm1.FowardClick(Sender: TObject);

var

x1,x2,y1,y2:Integer;

Position:TPoint;

begin

Position:=Image1.Canvas.PenPos;

Image1.Canvas.FillRect(ClientRect);

Position:=Image1.Canvas.PenPos;

Image1.Canvas.MoveTo(x1,y1);

x2 := x1 + 50;

y1 := y1 - 50;

y2 := y1 + 50;

Image1.Canvas.Rectangle(x1,y1,x2,y2);

end;

0  COMMENTS