|
이미지 동적생성시에 각 이미지마다 Tag 넘버를 주시고, 이미지의 클릭이벤트를 특정함수로 지정하신 후에, 해당 함수에서 Tag 넘버를 체크하시면 됩니다. 이때 Tag 넘버에서 0은 제외시키는 것이 좋겠지요..
for문이나 while 문에서
Image[i]->Tag = i;
Image[i]->OnClick = MyImageClick;
이런식으로 지정하신후에
void __fastcall TForm1::MyImageCalc(TObject *Sender)
{
switch(dynamic_cast<TImage *>(Sender)->Tag)
{
case 1 :........
case n :
}
}
저렇게 처리하시면 될듯합니다.
그럼...
김종석 님이 쓰신 글 :
: 안녕하세요.
:
: 제가 Image컴퍼넌트를 한 200개정도 동적으로 생성(배열이용)시키고 클릭시 마다 어떤 작동을 하게 해야 하는데요.
: 200개의 클릭이벤트를 만들수도 없고 하나의 이벤트를 공유하자니 인덱스만 있으면 되는데 도저히 잡을수가 없더군요.
:
: 물론 마우스위치로 어떻게 해서 잡을수는 있겠지만 Image컴퍼넌트들의 위치가 개발하면서 계속적으로 바뀔수 있어
: 이러지도 못하고 저러지도 못하고 있습니다.
:
: 단지 공유 마우스클릭 이벤트를 쓸때 인덱스(배열번호)까지만 넘어오면 되는데 기똥찬 생각이 안떠오르는군요.
:
: 그냥 한 Image컨포넌트의 캔버스에다가 그림을 붙일생각까지 하고 있습니다 ㅜ.ㅜ;;
: 도와주세요.
|