![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
перекрытие Create [D7, XP]
San1 © (2008-03-22 17:39:00)Добрый день! Подскажите пожалуйста.
Мне необходимо наследовать класс TnewGC от TGraphicControl.
При этом в порожденном классе, нужно перекрыть его конструктор.
В конструкторе мне необходимо сначало создасть объект TScrollBox, а уже в него поместить мой компонент класса TnewGC (как матрешка).
Делаю следующее...
Constructor TnewGC.Create(AOwner: TComponent);
begin
FScrollBox:=TScrollBox.Create(Aowner);
FScrollBox.Parent:=AOwner as TWinControl;
FScrollBox.Width:=100;
FScrollBox.Height:=100;
Inherited Create(FScrollBox);
Top:=0;
Left:=0;
end;
В результате получается, что каждый компонент принадлежит компоненту AOwner...
{RASkov} (2008-03-22 18:32:00) [1]Вот еще - кстати:
Кстати, делфийский класс и компонет с палитры выглядят почти одинаково, но на самом деле это не совсем так.... Будучи рабочий класс, т.е. создается и работает в рантайм нормально, переоформлен и помещен в палитру уже как компонент, начинает вести себя совсем по другому :)
ЗЫЖ Это просто хинт небольшой, так для памятки....
{RASkov} (2008-03-22 18:25:00) [2]> [5] San1 (22.03.08 18:02)
> чтобы мне не переопределять свойства-события графконтрола
> в наследнике скролбокса.
Что бы этого не делать, тебе нужно написать тогда свой полностьюкомпонент, а не лепить его из нескольких чужих....
Вот тебе советы:
научись понимать различие винконтролов от остальных, например графических(т.е. TGraphicControl)
купи, и самое главное прочитай, какую нибудь нормальную книжку по созданию компонентов
> [6] San1 (22.03.08 18:06)
Кстати, создание компонентов - это не тоже самое что и писать обычные программы. Занятие созданием компонентов намного увлекательнее и полезнее.
Но в тоже время и "бесполезное" занятие. Так как, компонентов уже написано вагон и маленькая тележка) Но для саморазвития - самое то. Поверь.
San1 (2008-03-22 18:06:00) [3]>Или это твой однониковец был?
Нет, это я самый... грызу гранит создания компонентов.
{RASkov} (2008-03-22 18:02:00) [4]Мда...
http://www.delphimaster.ru/cgi-bin/forum.pl?n=18&id=1205248970
Вы чтож все забывчивые такие.... памяти на полмесяца даже не хватило :(
Или это твой однониковец был?
San1 (2008-03-22 18:02:00) [5]Да, так как Вы говорите работает, но я решил попробовать такой вариант, чтобы мне не переопределять свойства-события графконтрола в наследнике скролбокса.
Т. е., такой путь нельзя реализовать?
{RASkov} (2008-03-22 17:58:00) [6]> [2] San1 (22.03.08 17:55)
Тыж скролбокс создаешь в графконтроле(т.е. в его конструкторе)...
Наследуй свой новый компонент от TScrollBox(или его предка) а уже в его конструкторе и создавай графконтрол, парентом которого и будет твой компонент(т.е. self)...
San1 (2008-03-22 17:55:00) [7]Так я вроде бы так и делаю..? или я что-то недопонимаю
{RASkov} (2008-03-22 17:50:00) [8]> [0] San1 (22.03.08 17:39)
Ты бы лучше наоборот... графконтрол помещай в винконтрол)