Вниз
Скачать: CL | DM;

перекрытие Create   Найти похожие ветки 

← →
San1   (2008-03-22 17:39) [0]

Добрый день! Подскажите пожалуйста.

Мне необходимо наследовать класс 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 17:50) [1]

> [0] San1   (22.03.08 17:39)

Ты бы лучше наоборот... графконтрол помещай в винконтрол)


← →
San1   (2008-03-22 17:55) [2]

Так я вроде бы так и делаю..? или я что-то недопонимаю


← →
{RASkov} ©   (2008-03-22 17:58) [3]

> [2] San1   (22.03.08 17:55)

Тыж скролбокс создаешь в графконтроле(т.е. в его конструкторе)...
Наследуй свой новый компонент от TScrollBox(или его предка) а уже в его конструкторе и создавай графконтрол, парентом которого и будет твой компонент(т.е. self)...


← →
{RASkov} ©   (2008-03-22 18:02) [4]

Мда...
http://delphimaster.net/view/2-1205248970/
Вы чтож все забывчивые такие.... памяти на полмесяца даже не хватило :(
Или это твой однониковец был?


← →
San1   (2008-03-22 18:02) [5]

Да, так как Вы говорите работает, но я решил попробовать такой вариант, чтобы мне не переопределять свойства-события графконтрола в наследнике скролбокса.

Т. е., такой путь нельзя реализовать?


← →
San1   (2008-03-22 18:06) [6]

>Или это твой однониковец был?
Нет, это я самый... грызу гранит создания компонентов.


← →
{RASkov} ©   (2008-03-22 18:25) [7]

> [5] San1   (22.03.08 18:02)
> чтобы мне не переопределять свойства-события графконтрола
> в наследнике скролбокса.

Что бы этого не делать, тебе нужно написать тогда свой полностью компонент, а не лепить его из нескольких чужих....
Вот тебе советы:
 научись понимать различие винконтролов от остальных, например графических(т.е. TGraphicControl)
 купи, и самое главное прочитай, какую нибудь нормальную книжку по созданию компонентов

> [6] San1   (22.03.08 18:06)

Кстати, создание компонентов - это не тоже самое что и писать обычные программы. Занятие созданием компонентов намного увлекательнее и полезнее.
Но в тоже время и "бесполезное" занятие. Так как, компонентов уже написано вагон и маленькая тележка) Но для саморазвития - самое то. Поверь.


← →
{RASkov} ©   (2008-03-22 18:32) [8]

Вот еще - кстати:
Кстати, делфийский класс и компонет с палитры выглядят почти одинаково, но на самом деле это не совсем так.... Будучи рабочий класс, т.е. создается и работает в рантайм нормально, переоформлен и помещен в палитру уже как компонент, начинает вести себя совсем по другому :)
ЗЫЖ Это просто хинт небольшой, так для памятки....



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
2-1206038360
Nicky000
2008-03-20 21:39
2008.04.20
SQL


15-1204961097
buzb
2008-03-08 10:24
2008.04.20
Где реально можно найти работу для программиста на delphi?


2-1206108977
operator
2008-03-21 17:16
2008.04.20
Перебор содержимого TGroupBox


2-1206621875
БарЛог
2008-03-27 15:44
2008.04.20
Сохранение части скриншота


2-1206074528
atomAltera
2008-03-21 07:42
2008.04.20
Как программно вывести контекстное меню какого нибудь файла?




   Наверх