Доступ к компонентам дочерней формы
Мне надо например вывести в файл содержимое Edit'а активной дочерней формы MDI приложения. Вопрос в том как добраться до этого Edit'a из родительской формы.
А в чем проблема-то???
ChildForm->Edit1->Text
Если вам сначала надо найти нужную дочернюю форму, то примерно так:
TMyChildForm *cf;
bool found = false;
for(int j = 0; j < this->MDIChildCount && !found; j++) {
cf = dynamic_cast<TMyChildForm *>((TObject *)(this->MDIChildren[j]));
if(cf) found = true;
}
if (found) {
Обращаемся к ChildForm->Edit1->Text
}
А в чем проблема-то???
ChildForm->Edit1->Text
Если вам сначала надо найти нужную дочернюю форму, то примерно так:
TMyChildForm *cf;
bool found = false;
for(int j = 0; j < this->MDIChildCount && !found; j++) {
cf = dynamic_cast<TMyChildForm *>((TObject *)(this->MDIChildren[j]));
if(cf) found = true;
}
if (found) {
Обращаемся к ChildForm->Edit1->Text
}
А зачем так сложно?
Есть же
TCustomForm::ActiveMDIChild
Specifies the MDI child that has focus.
__property TForm* ActiveMDIChild = {read=GetActiveMDIChild};
Description
Use ActiveMDIChild to get the MDI child that has focus.
If the form is not an MDI parent (that is, if the FormStyle property of the form is not fsMDIForm), ActiveMDIChild returns NULL.
А зачем так сложно?
Дествительно незачем...:-)
Просто пропустил, что нужна АКТИВНАЯ дочерняя форма..
Всем спасибо.