폼위에 있는 컨트롤을 찾아주는 함수입니다...
FindControl과 틀린점은 자식의 자식까지 모두 검사해서 찾아준다는
점 입니다. 일반적으로 판넬을 많이 사용하는데 그넘 위에 배치한 컨트롤은
찾아지지 않아서 한번 만들어 봤습니다. 그럼^^
TControl *FindControlByName(TWinControl *pControl, String Name)
{
TWinControl *pChild = NULL;
TControl *pRet = NULL;
for(int i=0; i<pControl->ControlCount; ++i)
{
if(pControl->Controls[i]->Name==Name)
{
pRet = pControl->Controls[i];
break;
}
pChild = dynamic_cast<TWinControl *>(pControl->Controls[i]);
if(pChild != NULL)
{
pRet = ::FindControlByName(pChild, Name);
if(pRet != NULL)
break;
}
}
return pRet;
}
|