Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];

Вниз

перекрытие 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 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.043 c
15-1204759276
Германн
2008-03-06 02:21
2008.04.20
Ord vs Integer


2-1206196743
San1
2008-03-22 17:39
2008.04.20
перекрытие Create


2-1206652100
helpmepls
2008-03-28 00:08
2008.04.20
Unassigned


15-1204652410
Dmitry S
2008-03-04 20:40
2008.04.20
AV непонятный


3-1194067877
Sirus
2007-11-03 08:31
2008.04.20
Отслеживание изменений в базе





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский