Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.05;
Скачать: CL | DM;

Вниз

Мне нужно поместить на панель (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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
2-1137640665
SergP
2006-01-19 06:17
2006.02.05
TListview. Перейти к заданному item у


2-1137354521
mctarik
2006-01-15 22:48
2006.02.05
Запуск приложения, только один раз за сеанс Windows!


2-1137500576
Binardy
2006-01-17 15:22
2006.02.05
BeforeApplyUpdates


3-1133792132
zz 5
2005-12-05 17:15
2006.02.05
Lookup поля


6-1130398948
Mikhail
2005-10-27 11:42
2006.02.05
Indy(IdHTTP)