Форум: "Основная";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];
ВнизВидимость компонент на форме Найти похожие ветки
← →
kerkonst (2003-01-21 14:05) [0]Здраствуйте !
И снова глупому мне требуется помощь...
Имеется формочка. На ней много PageContol-ов, некоторые из них
вложенные, куча закладок. На некоторых из закладок имеются
помимо прочего DBGrid-ы. Юзеру всегда одновременно виден только один DBGRid. Надо в любой момент времени знать, какой DBGrid видит юзер.
Пытался так. Вешал таймер и в нем:
for i:=0 to MainForm.ComponentCount-1 do
if MainForm.Components[i] is TDBGrid then
if (MainForm.Components[i] as TDBGrid).Visible then
begin
Ура ! Я нашел его !
...
Break;
end;
Но, у всех DBGid-ов visible=true.
Насколько я понял, visible работает "с точностью" до контейнера. Т.к. pagecontrol виден, то и все гриды типа видны.
Спрашивается, а как же всетки узнать, какой DBGrid видет юзер ?
← →
MBo (2003-01-21 14:08) [1]if DBGridX.Parent=PageControl1.ActivePage
← →
kerkonst (2003-01-21 14:23) [2]Эээ.. Идея интересная, но мне немного неясно, как конкретно ее реализовывать. PageControl-ов несколько, причем некоторые из них вложены друг в дружку.
← →
MBo (2003-01-21 14:28) [3]может, проще будет по событию активации страниц проверять, есть ли на ней dbgrid и класть указатель на него в глоб. переменную?
← →
kerkonst (2003-01-21 14:34) [4]сначала я примерно так и сделал.
Но, 1) некрасиво
2) при программном переключении pagecontrol.oncange не происходит.Если же каждый раз и здесь тоже сие делать, то это будет уже совсем некрасиво...
Хотя, счас с tabsheet.onenter попрубую...
← →
kerkonst (2003-01-21 14:55) [5]OnEnter работает. Странно, что я сразу до него не допер, а возился с onchange.
Всем спасибо за участие...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c