C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
ActiveControl, как его получить?
VovaN
Отправлено: 18.05.2005, 14:13


Дежурный стрелочник

Группа: Участник
Сообщений: 72



Написал свой компонент.
В нем надо получить указатель на текущий активный компонент (грид).
пишу: work_grid=(TDBGrid*)ActiveControl;
При компиляции выдается ошибка: undefined symbol 'ActiveControl'.
Библитека "Forms.hpp" проинклужена.
Как получить указатель?
dvv
Отправлено: 18.05.2005, 14:20


Дежурный стрелочник

Группа: Участник
Сообщений: 43



ActiveControl — это свойство TForm (или TScreen).

Ежели компилятор выдает такую ошибку, значит строка

work_grid=(TDBGrid*)ActiveControl;

находится не в методах формы. Скорее всего она находится в какой-либо отдельной функции.


Guest
Отправлено: 18.05.2005, 14:33


Не зарегистрирован







лучше dynamic_cast(ActiveControl)
а то вдруг на форме будет больше одного контрола и сетка не будет активной.
GIZMO
Отправлено: 19.05.2005, 08:33


Машинист паровоза

Группа: Участник
Сообщений: 174



QUOTE (VovaN @ 18/05/2005, 14:13)
Написал свой компонент.
В нем надо получить указатель на текущий активный компонент (грид).
пишу: work_grid=(TDBGrid*)ActiveControl;
При компиляции выдается ошибка: undefined symbol 'ActiveControl'.
Библитека "Forms.hpp" проинклужена.
Как получить указатель?

ActiveControl св-во формы, а не твоего компонента. Все правильно говорит компиллятор и Forms.hpp не поможет.

Вернуться в Вопросы программирования в C++Builder