Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> КАК Выделить Дескриптор для класса, TControl напрмер 
:(
    Опции темы
Lonley
  Дата 30.3.2007, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 7.10.2003
Где: северные ворота М урманск

Репутация: нет
Всего: 4



Привет Всем
-------
Суть вопроса в следующем... создал новый класс от TControl
но сам класс предок не имеет свойства/параметра Дескриптор
Handle HWND/// порывшись в коде модулей я обнаружил что в классе TWINCONTROL
параметр HANDLE есть, а TWINCONTROL создан от TCONTROL-a следовательно
дескриптор назначается в этом классе  smile 
-------
но сам разобраться как выделяется дескриптор не смог может объясните


--------------------
Земную жизнь пройдя до половины,
Я очутился в сумрачном лесу,
Утратив правый путь во тьме долины.
Каков он был, о, как произнесу,
Тот дикий лес, дремучий и грозящий,
PM MAIL ICQ   Вверх
Rennigth
Дата 30.3.2007, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 15
Всего: 76



Lonley,  Handle у TWinControl это дескриптор окна которое создается. У TControl handle-а нету и не должно быть.



--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Snowy
Дата 30.3.2007, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



Не нужно наследоваться от TControl, если делаешь визуальный компонент.
Наследуй от TWinControl, если нужен собственный дескриптор окна, или от TGraphicControl, если будешь юзать дескриптор родителя.
PM MAIL   Вверх
Beltar
Дата 31.3.2007, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 0
Всего: 7



Можно написать оконную функцию, объявить Handle и сделать так:

FHandle:=AllocateHWND(@WndProc);

вот тебе и дескриптор. Но это для невидимых наследников от TComponent, которые должны ловить сообщения, например иконка в трее. Для видимых есть TWinControl.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
ivan219
  Дата 31.3.2007, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 5
Всего: 12



А лучше всего используй TCustomControl тут и средства для ривования уже есть так что нарисовать свой контрол несоставит болшого труда.
PM MAIL ICQ   Вверх
Lonley
Дата 3.4.2007, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 7.10.2003
Где: северные ворота М урманск

Репутация: нет
Всего: 4



Спасибо я разобрался в TWINCONTROLE создается самое обычное окно... там и появляется дескриптор..
а в TControle действит не должно быть тогда дескриптора, но ведь его можно назначить путем создания окна, а тогда это и будет TWINCONTROL почти что  smile  smile 
---------------------

Beltar, спасибо за функцию пригодится

Это сообщение отредактировал(а) Lonley - 3.4.2007, 18:09


--------------------
Земную жизнь пройдя до половины,
Я очутился в сумрачном лесу,
Утратив правый путь во тьме долины.
Каков он был, о, как произнесу,
Тот дикий лес, дремучий и грозящий,
PM MAIL ICQ   Вверх
Snowy
Дата 3.4.2007, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



Просто от TControl наследуются TWinControl и TGraphicControl.
И у того и у другого есть хэндл окна.
Только у первого окно и хэндл свои, а у второго - родительские.
Большинство контролов наследуются от TWinControl.
От TGraphicControl наследуются в основном оформительские. Типа TShape и т.п.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0954 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.