![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Lonley |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 7.10.2003 Где: северные ворота М урманск Репутация: нет Всего: 4 |
Привет Всем
------- Суть вопроса в следующем... создал новый класс от TControl но сам класс предок не имеет свойства/параметра Дескриптор Handle HWND/// порывшись в коде модулей я обнаружил что в классе TWINCONTROL параметр HANDLE есть, а TWINCONTROL создан от TCONTROL-a следовательно дескриптор назначается в этом классе ![]() ------- но сам разобраться как выделяется дескриптор не смог может объясните -------------------- Земную жизнь пройдя до половины, Я очутился в сумрачном лесу, Утратив правый путь во тьме долины. Каков он был, о, как произнесу, Тот дикий лес, дремучий и грозящий, |
|||
|
||||
Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 15 Всего: 76 |
Lonley, Handle у TWinControl это дескриптор окна которое создается. У TControl handle-а нету и не должно быть.
-------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Не нужно наследоваться от TControl, если делаешь визуальный компонент.
Наследуй от TWinControl, если нужен собственный дескриптор окна, или от TGraphicControl, если будешь юзать дескриптор родителя. |
|||
|
||||
Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 0 Всего: 7 |
Можно написать оконную функцию, объявить Handle и сделать так:
FHandle:=AllocateHWND(@WndProc); вот тебе и дескриптор. Но это для невидимых наследников от TComponent, которые должны ловить сообщения, например иконка в трее. Для видимых есть TWinControl. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 5 Всего: 12 |
А лучше всего используй TCustomControl тут и средства для ривования уже есть так что нарисовать свой контрол несоставит болшого труда.
|
|||
|
||||
Lonley |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 7.10.2003 Где: северные ворота М урманск Репутация: нет Всего: 4 |
Спасибо я разобрался в TWINCONTROLE создается самое обычное окно... там и появляется дескриптор..
а в TControle действит не должно быть тогда дескриптора, но ведь его можно назначить путем создания окна, а тогда это и будет TWINCONTROL почти что ![]() ![]() --------------------- Beltar, спасибо за функцию пригодится Это сообщение отредактировал(а) Lonley - 3.4.2007, 18:09 -------------------- Земную жизнь пройдя до половины, Я очутился в сумрачном лесу, Утратив правый путь во тьме долины. Каков он был, о, как произнесу, Тот дикий лес, дремучий и грозящий, |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Просто от TControl наследуются TWinControl и TGraphicControl.
И у того и у другого есть хэндл окна. Только у первого окно и хэндл свои, а у второго - родительские. Большинство контролов наследуются от TWinControl. От TGraphicControl наследуются в основном оформительские. Типа TShape и т.п. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |