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

Вниз

В качестве 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.012 c
2-1196721513
ZGadget
2007-12-04 01:38
2007.12.30
Отделение текста от бинарника


15-1196155571
limp
2007-11-27 12:26
2007.12.30
Стоимость разработки службы знакомств


6-1176305583
ALnEtNoInA
2007-04-11 19:33
2007.12.30
Написать простейший прокси-сервер (https) средствами Indy


2-1196942339
Алекс
2007-12-06 14:58
2007.12.30
библиотеки с классами других приложений


15-1196342882
моряк
2007-11-29 16:28
2007.12.30
как стать нормальным программистом!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский