|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.07.2015, 09:36 | #1 |
Форумчанин
Регистрация: 14.10.2009
Сообщений: 128
|
Не отображается дочернее окно рабочего стола
Добрый день, уважаемые форумчане!
Суть моей задачи в следующем:
Первый пункт я выполнил. Класс DesktopAPI реализует это точно для Windows XP и Windows 7 если это стандартное окно. Если же окно имеет свойства Код:
Выглядит это следующим образом (см. приложенное изображение). На скриншоте я дважды запускал в дочернем окне рабочего стола ещё одно другое приложение. Также прикладываю два проекта. В коде делаю так: Код:
Код:
|
17.07.2015, 12:58 | #2 | |
Форумчанин
Регистрация: 30.06.2015
Сообщений: 353
|
Цитата:
|
|
17.07.2015, 13:33 | #3 |
Форумчанин
Регистрация: 14.10.2009
Сообщений: 128
|
Я понимаю, что это не стандартная проблема. Так как на msdn я тоже не нашёл ответов или подсказок.
Это окно и как любое другое будет получать свои сообщения. А так будет дочкой рабочего стола, то приобретает и его свойства - не сворачивается, всегда за другими окнами, не отображается в панели задач, не реагирует на DWM и Aero Peek и т.д. Для чего мне это нужно - первой целью для создания виджетов, чтобы они были адаптированы от WinXp до Win8. Про 10 молчу, даже в глаза не видел. Второй целью - хочу себе написать свой личный рабочий стол. Считайте это моей прихотью. Опытным путём обнаружено, что такая проблема существует только при включенном Aero! |
18.07.2015, 20:23 | #4 | ||||||
Форумчанин
Регистрация: 30.06.2015
Сообщений: 353
|
Окна в общем случае будут принадлежать разным процессам. Как их можно помещать друг в друга? А если родительское вдруг станет уничтожаться? Да и мне кажется есть риск что не будет часть сообщений получать (оно же станет подчинённым)? Или это только для CHILD...
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
P.S. Гаджеты (во всяком случае официальные от Windows) не являются дочерними окнами. Ни к десктопу ни к чему-либо ещё. Просто окно верхнего уровня. P.P.S. Добавил вложение, exe-программа с 4-мя окнами, возможно пригодится для тренироваться. Последний раз редактировалось ResourceSpace; 19.07.2015 в 03:28. |
||||||
20.07.2015, 11:02 | #5 | ||||
Форумчанин
Регистрация: 14.10.2009
Сообщений: 128
|
Цитата:
Цитата:
Цитата:
Цитата:
Спасибо, изучу. |
||||
20.07.2015, 12:09 | #6 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Сейчас не могу сказать конкретно (лето, ремонт), но, похоже, нужно копать в сторону API.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
20.07.2015, 15:41 | #7 |
Форумчанин
Регистрация: 30.06.2015
Сообщений: 353
|
Убрать можно примерно так:
Код:
Когда-то пробовал найти способ, но так как было мало времени, да и поиск был минутной прихотью - не нашёл да бросил. Может BOBAH13 тогда всё же нашёл способ... |
20.07.2015, 15:56 | #8 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Вспомнил,эту функцию. Там есть параметр.на месте WS_EX_LAYERED. Эта штука, убирает цвета. В даннгом случае - красный. Лгать не будУ, но все цвета через неё убрать можно.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дочернее окно (MFC / C++) | feelmyeyes | Помощь студентам | 0 | 27.11.2013 21:28 |
Дочернее диалоговое окно MFC | nubak | Помощь студентам | 0 | 14.04.2013 16:34 |
Дочернее и родительское окно. | Sonny01 | Помощь студентам | 2 | 30.10.2011 18:11 |
Дочернее окно | StayS | Общие вопросы Delphi | 2 | 24.09.2008 20:22 |