|
정말이지 감사합니다!
수이사이드님처럼 수준높은 프로그래머가 되고싶은마음이 커지네요 ^^
수이사이드 님이 쓰신 글 :
: __fastcall TForm1::TForm1(TComponent* Owner)
: : TForm(Owner)
: {
: int imgWidth = 32;
: int imgHeight = 32;
:
: TImage* img[10][10];
: for( int i = 0 ; i < 10; i++)
: {
: for( int j = 0; j < 10; j++)
: {
: img[i][j] = new TImage(this);
: img[i][j]->Parent = this;
: img[i][j]->Name = String("img_") + i +"_"+ j;
: img[i][j]->Picture->LoadFromFile("move.bmp");
: img[i][j]->Top = i * imgHeight;
: img[i][j]->Left = j * imgWidth;
:
: img[i][j]->OnClick = ImageClick;
: }
: }
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::ImageClick(TObject *Sender)
: {
: TStringList* delimitedImgName = new TStringList;
:
: delimitedImgName->Delimiter = '_';
: ShowMessage( dynamic_cast<TImage*>(Sender)->Name);
: delimitedImgName->DelimitedText = dynamic_cast<TImage*>(Sender)->Name;
: for(int i = 0 ; i < delimitedImgName->Count; i++)
: {
: ShowMessage(delimitedImgName->Strings[i]);
: }
: delete delimitedImgName;
: }
: 몇년째 눈팅만 하다 help me님의 실력이 없어서 죄송합니다란 말에 마음이 울컥해서 답글 달아봅니다. 일하기 싫은 마음도 좀 있고...ㅎ
: 대충 이런걸 원하신거 같은데...
:
: 이벤트로 넘어 오는 Sender는 해당 컴포넌트의 포인터를 가르키고 있습니다.
: 이걸 TImage 포인터로 형변환 한후 사용하시면 됩니다.
: dynamic_cast<>는 c++ 스타일의 캐스팅입니다. c의 (TImage*)Sender와 같은 역할이죠. 물론 타입 체크등 부가 적인 기능이 있긴 하지만... 솔직히 c++캐스팅이 좀 특이하게 생겨서 c에서 c++ 넘어올때 적잖이 당황하는 경향이 있는데 별거 아니에요.
: 그럼...
:
:
: help me 님이 쓰신 글 :
: : 동적생성된 컴포넌트를 클릭했을때
: :
: : 그클릭으로 동적생선된 컴포넌트의 정보인 네임이나 변수명을 알고싶습니다.
: :
: : 가능할까요?
: :
: :
: : help me 님이 쓰신 글 :
: : : 어그러니깐...
: : :
: : : TImage *Img[10][10];로 동적생성한담에요
: : :
: : : 1. Button1클릭할때마다 X ,Y 증가시켜 Img[X][Y]로 해서 생성을 했거든요.
: : :
: : : 생성한다음
: : :
: : : 2. 그이미지 Img[X][Y]의 클릭 이벤트를 만들어서 클릭했을때 클릭한 Img[X][Y]의 X,Y값이 알고싶거든요.
: : :
: : : 포인트는 클릭한 동적생성한 Img컴포넌트의 X,Y를 받고싶습니다.
: : :
: : : 음 한마디로 그 동적생성한 Img를 클릭했을때 그 X,Y과 어떤값인지 알고싶습니다.
: : :
: : : 제가 실력이없어서 설명도 잘못하네요. 죄송합니다.
: : :
: : : 혹시나 이방법은 가능할지 묻고싶습니다.
: : : 동적생성할때 Name 값을 넣는데 이 Name 값을 X,Y값으로 넣어 나중 클릭했을때
: : :
: : : 클릭한 네임의 STR을 구분하여 X,Y를 구하는것입니다.
: : :
: : : 근데 이문제도 클릭했을때 그 X,Y를 받아와야한다는겁니다. ㅠㅠ 비교할값이 있어야하는데 비교를 못합니다.....
: : :
: : : 그래도 이해못하시겟다면 답변해주시는거보고 소스첨부해보겠습니다.
: : :
: : : Lyn 님이 쓰신 글 :
: : : : 뭔코드를쓰신거임? (...)
: : : : help me 님이 쓰신 글 :
: : : : : TImage *Img[X][Y];
: : : : : int X=50;
: : : : : int Y=50;
: : : : :
: : : : : 해놓고 Button1Click이벤트를 햇을때 Img[X][Y]의 X,Y의 값을 얻고싶습니다.
: : : : :
: : : : : 동적생성한 변수네임을 어덯게 얻을수잇죠 ???
|