Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.11;
Скачать: CL | DM;

Вниз

Handle окна   Найти похожие ветки 

 
DimaBr   (2005-07-22 13:34) [0]

Удалено модератором
Примечание: СПАМ


 
Джо ©   (2005-07-22 13:35) [1]

Что есть "дескриптор"? Что есть "Handle окна"? Сплошная каша...


 
Alx2 ©   (2005-07-22 13:38) [2]

DimaBr   (22.07.05 13:34)

Неверно. Например, TDataSource не имеет дескриптора (Handle), но двигать его можно. :)


 
DimaBr   (2005-07-22 13:50) [3]

Харош прикалываться, лучше помогли бы.


 
Джо ©   (2005-07-22 13:56) [4]


>  [3] DimaBr   (22.07.05 13:50)
> Харош прикалываться,

Не-а.

> лучше помогли бы.

А ты уже ответил на уточняющие вопросы или я что-то пропустил?


 
DimaBr   (2005-07-22 14:00) [5]

Компонент, помещённый на форму (в дизайнере) является окном со своим Handle, которое Винда и перерисовывает когда нужно. Может быть я не прав ?


 
Джо ©   (2005-07-22 14:20) [6]


>  [5] DimaBr   (22.07.05 14:00)
> Компонент, помещённый на форму (в дизайнере) является окном
> со своим Handle

Не обязательно.

> которое Винда и перерисовывает когда нужно

Не обязательно.

> Может быть я не прав ?

Скорее всего.
---
См. иерархию объектов-наследников TWinControl, TControl, прочитай о них справку и почувствую разницу ;-)


 
Alexander Panov ©   (2005-07-22 14:20) [7]

DimaBr   (22.07.05 14:00) [5]
Компонент, помещённый на форму (в дизайнере) является окном со своим Handle, которое Винда и перерисовывает когда нужно. Может быть я не прав ?


Обрати внимание на компонент TLabel.


 
Чапаев ©   (2005-07-22 14:26) [8]

Может он имеет в виду, что каждый прямоугольничек в дизайнере является окном?


 
Digitman ©   (2005-07-22 14:27) [9]


> Компонент, помещённый на форму (в дизайнере) является окном
> со своим Handle


в общем случае неверно.


 
alpet ©   (2005-07-22 14:32) [10]

>Даже невизуальный компонент имеет дискриптор иначе как бы мы его >видели и двигали по форме.

Правда ? Ну-ка для примера, приведи значение свойства Handle любого невизуального компонента на свой выбор.


 
Юрий Зотов ©   (2005-07-22 14:40) [11]

> DimaBr

1. Компоненты - это класс TComponent и все его потомки.

2. Компоненты подразделяются на визуальные (TControl и все его потомки) и невизуальные (все остальные).

3. Визуальные компоненты, в свою очередь, подразделяются на оконные (TWinControl и все его потомки) и графические (TGraphicControl и все его потомки).

4. Окнами являются только оконные компоненты. Прочие компоненты тоже могут создавать окна (напр. TTimer), но сами по себе окнами не являются.

5. Поэтому вопрос лишен смысла и ответить на него невозможно.


 
DimaBr   (2005-07-22 14:45) [12]

Народ, чего кипятитесь. Берём FastExperts или что-нибуть наподобе и смотрим как он прячет все невизуальные компоненты с формы:

Перебор всех компонентов (Handle) на форме, если класс этого Handle - TContainer, то ShowWindow(Handle, SW_HIDE);

Вывод - компонент обладает Handlom


 
Digitman ©   (2005-07-22 14:51) [13]


> класс этого Handle - TContainer


> Вывод - компонент обладает Handlom


галиматья полная


 
Юрий Зотов ©   (2005-07-22 15:04) [14]

> DimaBr   (22.07.05 14:45) [12]

Невизуальные компоненты сами по себе невидимы. Но в design-time они должны быть видны, поэтому для отображения невизуального компонента среда разработки (IDE) создает окно класса TContainer и работает с ним. То есть, такое окно представляет компонент и является частью IDE, а не компонента. Сам же компонент о наличии такого окна не подозревает и не имеет к нему никакого отношения.

Для визуальных компонентов IDE окон-представителей не создает, поскольку это не нужно (они видны и сами по себе, без представителей).


 
DimaBr   (2005-07-22 15:59) [15]

> Юрий Зотов
Огромное спасибо, теперь наконец понятно. Но как определить Handle этого окна ? Delphi - то различает соотношение компонент - окно.


 
Digitman ©   (2005-07-22 16:05) [16]


> DimaBr   (22.07.05 15:59) [15]


ты дизайн-тайм-эксперт что-ли пишешь ?


 
DimaBr   (2005-07-22 16:26) [17]

Да, пишу эксперт. Хочу прятать невизуальные компонеты выборочно, бо вместе с хранимыми процедурами прячется ActionList, а это мне не нравится.


 
Юрий Зотов ©   (2005-07-22 16:32) [18]

> DimaBr   (22.07.05 15:59) [15]

> как определить Handle этого окна ? Delphi - то различает
> соотношение компонент - окно.

Раз IDE сама создает и компонент, и окно, то она, естественно о них обоих все знает. В том числе, знает, какое окно какому компоненту сопоставлено - так что для IDE проблем нет.

А вот для нас они есть. Скорее всего, TContainer - это недокументированный потомок TWinControl, используемый только внутри IDE и содержащий ссылку на связанный с ним невизуальный компонент. И, поскольку для нас он недокументирован, то нам остается либо найти внутреннюю документацию Borland (что вряд ли реально), либо заняться исследованиями (или, говоря по-простому - хакерством). Причем:
- раз это окно существует только в IDE, то и определить его может только код, работающий в design-time;
- раз оно создается только для невизуальных компонентов, то и определить его можно только для них;
- и в любом случае сам такой компонент никакого хэндла не имеет, поэтому исходный вопрос все равно поставлен некорректно.


 
Юрий Зотов ©   (2005-07-22 16:35) [19]

> DimaBr   (22.07.05 16:26) [17]

> Да, пишу эксперт.

Тогда советую задать вопрос в конференции "Компоненты", поскольку здесь он явно не по теме и может быть удален. И хорошо его сформулировать, чтобы было понятно, о чем идет речь и в чем состоит проблема.


 
DimaBr   (2005-07-22 16:40) [20]

Спасибо огромное всем, пошёл на "Компоненты"



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

Текущий архив: 2005.09.11;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.023 c
14-1124165644
-=snoop=-
2005-08-16 08:14
2005.09.11
делюсь инфой по полезному компоненту!


2-1123410050
SkipKod
2005-08-07 14:20
2005.09.11
SkipKod


1-1124301886
злобная танька
2005-08-17 22:04
2005.09.11
ООП: обмен методами


14-1124261048
phpbb
2005-08-17 10:44
2005.09.11
Подскажите хороший форум по phpbb


3-1122624830
chili
2005-07-29 12:13
2005.09.11
Подскажите естли возможность работы с Oracle на прямую?