Q&A

  • TImage를 이용해서 화면에 그림을 그릴때...
프로그램은 대충 이렇게 되어 있는데...



procedure TForm1.FormPaint(Sender: TObject);

begin

ShowMessage('OnPaint');

end;



procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

MyImage[loop] := TImage.Create(Self);

MyImage[loop].Parent := Form1;

MyImage[loop].Top := Y;

MyImage[loop].Left := X;

MyImage[loop].Height := 12;

MyImage[loop].Width := 12;

MyImage[loop].AutoSize := FALSE;

MyImage[loop].center := TRUE;

MyImage[loop].Align := alNone;

MyImage[loop].Stretch := FALSE;

MyImage[loop].Picture.LoadFromFile('./black.bmp');

loop := loop + 1;

end;



Image1위에서 Mouse를 누를때 보면 MyImage가 화면에 Display되면서 새로 생성되는 MyImage실제 영역크기가 위에서 정의한 size가 아니고

Image콤포넌트를 폼에 가져다 놓았을때의 크기랑 같은것 같은데요...

그래서 Image1의 우측 가장자리나 하단을 누르게 되면 Image1의 영역 밖까지 그림이 그려지는것 같은데... 그래서 OnPaint Message가 발생하는것 같은데...

어떻게 해야하는지요...

그리고 size를 제가 임의로 주려면 고수님들의 명쾌한 답변 부탁드립니다.



델파이 초짜가...



0  COMMENTS