안녕하세요. 이미지에다 Canvas.Lineto로 선을 그리려합니다. 그런데 저는 Line이 천천히 그려지는 모습을 보고 싶은데요, Timer 콤포넌트의 onTimer이벤트를 사용했는데 너무 빨리 그려지더군요. interval 프로퍼티를 최대, 최소로 조정을 해도 마찬가지로 너무 빨라요. 제가 사용한 코드는..
private
PCountX , PCountY : integer;
implementation
procedure TForm1.BitBtn1Click(sender: object)
begin
PCounty := 1;
for PCountX := 1 to 400 do
Timer1Timer(Sender);
end;
procedure TForm1.Timer1Timer(Sender: Object)
begin
Image1.Canvas.Lineto(PCountX,PCountY);
Inc(PCountY);
end;
위와같이 코딩을 했는데 라인이 너무 빨리 그려졌습니다. 제가 원하는 것은 라인이 그려지는 속도를 제어했으면 해서요. 방법이 없을까요? 그리고 또..제가 초보라서 그러는데요, Timer1Timer에서 왜 꼭 sender를 사용해야 컴파일이 되는지 모르겠습니다. 이런경우가 가끔 있는데요, 이 Sender의 의미가 뭔지 좀 가르쳐 주시겠어요?
루프를 사용하지 말고 interval 을 이용하여 반복하세요..
타이머를 쓰는데 루프를 또 돌릴 필요가 없지요..
procedure TForm1.Timer1Timer(Sender: TObject)
에다가 x,y변수를 증가시키시고요...
그리고 Sender는 간단히 말해서 그 이벤트가 발생된 컨트롤을
지칭한다고 말할 수 있습니다.
델파이에서 사용되는 모든컨트롤이 대상이 되기에
그들을 포함시키기 위해 TObject형으로
정의가 되어 있음에 주목하세요....
북해 께서 말씀하시기를...
> 안녕하세요. 이미지에다 Canvas.Lineto로 선을 그리려합니다. 그런데 저는 Line이 천천히 그려지는 모습을 보고 싶은데요, Timer 콤포넌트의 onTimer이벤트를 사용했는데 너무 빨리 그려지더군요. interval 프로퍼티를 최대, 최소로 조정을 해도 마찬가지로 너무 빨라요. 제가 사용한 코드는..
>
> private
> PCountX , PCountY : integer;
>
> implementation
>
> procedure TForm1.BitBtn1Click(sender: object)
> begin
> PCounty := 1;
> for PCountX := 1 to 400 do
> Timer1Timer(Sender);
> end;
>
> procedure TForm1.Timer1Timer(Sender: Object)
> begin
> Image1.Canvas.Lineto(PCountX,PCountY);
> Inc(PCountY);
> end;
>
> 위와같이 코딩을 했는데 라인이 너무 빨리 그려졌습니다. 제가 원하는 것은 라인이 그려지는 속도를 제어했으면 해서요. 방법이 없을까요? 그리고 또..제가 초보라서 그러는데요, Timer1Timer에서 왜 꼭 sender를 사용해야 컴파일이 되는지 모르겠습니다. 이런경우가 가끔 있는데요, 이 Sender의 의미가 뭔지 좀 가르쳐 주시겠어요?
>
>
>
>
>
>
>
>
>