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

Вниз

В качестве parent- а компонента рабочий стол   Найти похожие ветки 

 
Kvendi   (2007-11-29 13:33) [0]

Собственно вопрос в названии как в качестве parent-а компонента указать рабочий стол, т.е. чтобы компонент распологался не на форме, а на рабочем столе ?


 
tesseract ©   (2007-11-29 14:07) [1]

никак. Рабочий стол компонентом не являеться. Можно по handle окна создавать. Handle у рабочего стола 0.


 
Kvendi   (2007-11-29 14:11) [2]

а как же ListView который собственно и представляет из себя рабочий стол ?


 
Anatoly Podgoretsky ©   (2007-11-29 14:13) [3]

> Kvendi  (29.11.2007 14:11:02)  [2]

ListView тоже не компонент, вот TListView компонент, но это не рабочий стол.


 
Kvendi   (2007-11-29 14:14) [4]

ок, т.е. правильный ответ что невозможно разместить свой компонент вместо формы на рабочем столе ?


 
homm ©   (2007-11-29 14:15) [5]

> [4] Kvendi   (29.11.07 14:14)
> ок, т.е. правильный ответ что невозможно разместить свой
> компонент вместо формы на рабочем столе ?

Нет, возможно.

> [1] tesseract ©   (29.11.07 14:07)
> Handle у рабочего стола 0.


 
homm ©   (2007-11-29 14:16) [6]

«Кнопка — тоже окно!»
© шокирующая новичков истина


 
Kvendi   (2007-11-29 14:16) [7]


> Нет, возможно.

Ок, тогда соответственно напращивается второй вопрос: как ?


 
Anatoly Podgoretsky ©   (2007-11-29 14:18) [8]

> Kvendi  (29.11.2007 14:14:04)  [4]

Компонет вообще нельзя разместить, он же может быть не визуальный и размещать можно только на наследнике TWinControl и подобном. Рабочий стол не компонент типа TWinControl


 
homm ©   (2007-11-29 14:18) [9]

> [0] Kvendi   (29.11.07 13:33)
> как в качестве parent-а компонента указать рабочий стол

> [1] tesseract ©   (29.11.07 14:07)
> Handle у рабочего стола 0.

SetParent(Handle, 0);


 
Kvendi   (2007-11-29 14:19) [10]

[Pascal Error] Unit29.pas(29): E2362 Cannot access protected symbol TControl.SetParent


 
Anatoly Podgoretsky ©   (2007-11-29 14:20) [11]


> «Кнопка — тоже окно!»

Не правда


 
homm ©   (2007-11-29 14:22) [12]

> [10] Kvendi   (29.11.07 14:19)
> [Pascal Error] Unit29.pas(29): E2362 Cannot access protected
> symbol TControl.SetParent

Не юзай TControl.SetParent. Нужный тебе SetParent лежит в модуле windows.pas.


 
Anatoly Podgoretsky ©   (2007-11-29 14:23) [13]


> Handle у рабочего стола 0.

У экрана, десктопов может быть много.


 
homm ©   (2007-11-29 14:24) [14]

> [11] Anatoly Podgoretsky ©   (29.11.07 14:20)
> Не правда

Возможно у вас свой, особый взгляд на вещи. Уточню. «Кнопка, появлению кторой предшествовал вызов CreateWindow — тоже окно».


 
Anatoly Podgoretsky ©   (2007-11-29 14:45) [15]

Ни каких CreateWindow в цитате, на которую я реагировал не видно. Ку?


 
Сергей М. ©   (2007-11-29 14:52) [16]


> Kvendi   (29.11.07 13:33)


Расположить-то ты его может и расположишь, только вот работать он как положено не будер - родителю впарили пасынка, которого он знать не знает и ухаживать за ним не намерен.


 
clickmaker ©   (2007-11-29 15:04) [17]


> [1] tesseract ©   (29.11.07 14:07)
> никак. Рабочий стол компонентом не являеться. Можно по handle
> окна создавать. Handle у рабочего стола 0.

GetDesktopWindow()


 
Amoeba ©   (2007-11-29 15:05) [18]


> Kvendi   (29.11.07 13:33)
>
> Собственно вопрос в названии как в качестве parent-а компонента
> указать рабочий стол, т.е. чтобы компонент распологался
> не на форме, а на рабочем столе ?
>

Извращенец!


 
DmT   (2007-12-01 16:05) [19]

Panel1.Parent:=nil;
Panel1.ParentWindow:=GetDesktopWindow();


 
Однокамушкин   (2007-12-02 21:20) [20]

Контрол можно разместить в любом неVCL-ном окне, используя конструктор CreateParented вместо Create, только смысла в этом, как написано в Сергей М. ©   (29.11.07 14:52) [16], не будет... Контролы в VCL обмениваются со своими родителями кучей специфичных и стандартных нотификационных сообщений, а если родитель не посылает компоненту нужных сообщений и не обрабатывает его сообщения, то большая часть функциональности компонента будет недоступна... Пробовали когда-нибудь вставить кнопку или комбобокс в StringGrid? Ни фига не работает, а всё потому, что в гриде переопределён обработчик нотификационных сообщений от дочерних окон, и переопределён неправильно



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

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

Наверх




Память: 0.51 MB
Время: 0.015 c
15-1196243761
SerJaNT
2007-11-28 12:56
2007.12.30
Подсчет трафика


15-1196164673
shark
2007-11-27 14:57
2007.12.30
Вопрос по 3D эффекты.


2-1196840983
Ekzot
2007-12-05 10:49
2007.12.30
Как Подсветать определённые слова в RichEdit


2-1196959438
Dib@zol
2007-12-06 19:43
2007.12.30
Работа с делфяными строками на билт-ин асме


8-1172084201
ы
2007-02-21 21:56
2007.12.30
картинка над фоном