civilian, 감사합니다.
덕분에 문제가 해결되었어요 ^^~
혹시라도 저처럼 이부분에서 추가적으로 해매시는 분들을 위해 몇자 적어본다면...
TImage(Sender).Name => 이것의 자료형은 string입니다.
TImage(Sender) => 이것의 자료형은 (Sender : Tobject)인듯합니다.
어떤연유인지 동작이 되는건지는 잘 모르겠지만....
함수(컨트롤명)을 "TImage(Sender).Name" 넣었더니 string자료형이라고 해서 잘 안들어가네요.
아마도 컨트롤명은 TGraphicControl을 의미하는듯 합니다.
해서 컨트롤명을 가져올때에는
var Img_name : TGraphicControl; // 요거로 선언해주시고,
Img_name := Timage(Sender); // 요렇게 해서 가져오면 함수안 컨트롤명에 들어가져서 동작이 됩니다.
역시 핵심 포인트는 TImage(Sender).Name 의 앎이었던것 같습니다.
Timage(Sender).원하는프로퍼티 를 쓰게되면 string형으로 해당 프로퍼티의 값을 가져오게 됩니다.
예를들면...
showmessage('top위치는 ' + IntToStr(TImage(Sender).top) + ' 입니다.');
이렇게 했을경우 해당 컨트롤의 top속성값을 str 형태로 가져오게 되고, showmessage에서 보여주기 위해
형변환을 해서 찍어내면 잘 나오게 됩니다.
Top외에도 left, Height 등등의 프로퍼티 값들을 가져올 수 있을 듯 합니다.
civilian 님이 쓰신 댓글로 인해 공부 많이 할 수 있었습니다. 감사드립니다.^^
civilian 님이 쓰신 글 :
: TImage(Sender).Name
:
: junbeomlee 님이 쓰신 글 :
: : 안녕하세요. 델초보입니다. ㅠㅠ
: :
: : 지금 배경 Timage위에 이미지를 2개이상 올려놓은 상태인데요.
: :
: : 이미지를 이동하려고 합니다.
: :
: : 근데 이미지 이동 함수에 컨트롤 이름명을 넣어야 하는거 같은데...
: :
: : 이미지 이름은 어떻게 알아낼수 있을까요???
: :
: : 배경 컨트롤이름은 Img_background, 컨트롤 1은 Img_ex1, 컨트롤 2는 Img_ex2입니다.
: :
: : <질문의 요지는??>
: : * 클릭했을때 또는 마우스가 눌렸을때(mousedown 이벤트 발생시...) 해당 컨트롤의 이름을 알수 있는 방법은??
: :
: : 도와주세요~!
|