Форум: "Компоненты";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];
ВнизМне нужно поместить на панель (TPanel) таблицу (DBGrid), но чтобы Найти похожие ветки
← →
Michael5 (2005-08-16 09:31) [0]получившийся компонент был потомком DBGrid!
Для меня тут проблема в том, что мне приходится делать его потомком TPanel, иначе, если родитель - DBGrid, то панель выйдет за границы таблицы и станет не видна...
Можно ли визуальные компоненты размещать за границами родительского компонента, или тут можно решить проблему при создании (Create) этих компонентов? Или еще как-то...
Подскажите пожалуйста!
← →
DimaBr (2005-08-16 14:42) [1]//Можно ли визуальные компоненты размещать за границами
А почему нельзя ?
А вообще проблема неясна. После пятикратного прочтения сообщения, я так ничего не понял
← →
Юрий Зотов © (2005-08-16 15:00) [2]> Michael5 (16.08.05 09:31)
> Мне нужно поместить на панель (TPanel) таблицу (DBGrid), но
> чтобы [D7, WinXP] получившийся компонент был потомком DBGrid!
Зачем? Почему Ваш компонент обязательно должен быть на панели? А если пользователь захочет, например, положить его на форму, фрейм, GroupBox или еще куда-то? Разве это не нормально?
Грамотно сделанный визуальный компонент обязан уметь жить на любом родителе. И про своего родителя он знает только то, что это TWinControl и что на него указывает Parent. Все. Больше ему ничего про родителя не известно, да и не должно быть известно.
Поэтому совет такой - раз нужен потомок TDBGrid, так и делайте потомка TDBGrid, а про панель забудьте. Есть Parent - и все.
← →
Michael5 (2005-08-16 16:20) [3]В общем, проблема возникла потому, что я пытался создать компонент, и на нем - другой компонент (напр., таблица и на ней кнопка, или панель и на ней таблица и т.д....). При этом при задании координат второго компонента (допустим, я хочу, чтобы кнопка была над таблицей, и задаю соотв. координаты кнопки Top и Left отрицательными, правильно? У меня ведь родитель при этом - таблица, и ее верхний левый угол - нулевой) кнопка улезает за пределы таблицы и становится не видна...
Я же не претендую на знание, подскажите, где я заблуждаюсь :)
//а зачем мне это надо? Просто мне нужна панель с таблицей, на которой будут управляющие таблицей кнопки, т.д., и соответственно, зачем мне компонент - потомок панели, если она просто - несущий элемент... Мне нужен потомок DBGrid...//
← →
Наиль © (2005-08-16 16:40) [4]Зона видимости всегда ограничивается родительским окном.
В твоём случае, гораздо проще создать компонент от TPanel, и придать ему необходимую функциональность. Можно конечно, создать потомка от DBGrid, и при изменении Parent"а, скажем, на Form1, подсовывать под него панель с кнопочками. В этом случае верёвку с мылом, лучше далеко не убирать.
← →
Reindeer Moss Eater © (2005-08-16 16:50) [5]//а зачем мне это надо? Просто мне нужна панель с таблицей, на которой будут управляющие таблицей кнопки, т.д., и соответственно, зачем мне компонент - потомок панели, если она просто - несущий элемент... Мне нужен потомок DBGrid...//
У нормальных и логичных людей то, что тебе надо, называется фреймом.
← →
Юрий Зотов © (2005-08-16 18:13) [6]> Michael5 (16.08.05 16:20) [3]
Нужно делать именно потомка от TPanel, а грид прописывать, как его свойство. Но есть способ намного проще и намного быстрее.
Сделайте фрейм (как обычную форму), потом зарегистрируйте его в качестве компонента (правым кликом мышки). И весь вопрос.
← →
Michael5 (2005-08-17 09:10) [7]Благодарю всех!
Буду разбираться с фреймами, никогда ими не пользовался
Страницы: 1 вся ветка
Форум: "Компоненты";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.014 c