|
ClassName()함수는 해당 콤포넌트의 클래스 이름을 문자열로 표시합니다.
[소스 수정]
void __fastcall TForm1::test(TObject *inComponent)
{
AnsiString ClsName = inComponent->ClassName();
//그래픽 컴포넌트 구분
if (!CompareStr(ClsName, "TImage"))
{
//TImage일 경우 처리...
}
else if(!CompareStr(ClsName, "TPaintBox "))
{
//TPaintBox일 경우 처리...
}
}
열심히 하세요.
--------------------------------------
작은 생각이 세상을 바꾼다 - 정성훈.해미 -
--------------------------------------
푸른노래 님이 쓰신 글 :
: 안녕하세요.. 먼저 읽어주셔서 감사합니다.
:
: 예전에 구현을 했는데. 못 찾아서 ㅡㅡ;
:
: 일단 폼위에는 TImage, TPaintBox 두개가 있습니다.
:
: 한 프로시져에서 처리를 하려다 보니깐. 위의 두 컴포넌트를 구분하려는 데.. 지금 버벅거리고 있습니다.
:
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: test(Image1);
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button2Click(TObject *Sender)
: {
: test(PaintBox1);
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::test(TObject *inComponent)
: {
: //그래픽 컴포넌트 구분
: if (inComponent)
: ...이미지일 경우 처리...
: else if(inComponent)
: ...패인트일 경우 처리...
: }
:
: 대충 구현 방식은 위와 같습니다.
:
: TObject *inComponent 가 어떤 컴포넌트인지 구분 할 수 있는 방법 좀 알려주시면 정말 고맙겠습니다.
|