![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 2 Всего: 3 |
Ну покажи, хотя бы напримере 2-х компонентов -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Общем долго-долго я над этим игрался. Использовал всю мощь сего форума - никак не получается для контролов на форме сделать. Как-то видно винда определяет что не форма это.
Мой приговор - невозможно. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
misha_mike |
|
|||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 1.6.2007 Репутация: нет Всего: 1 |
Ну почему сразу невозможно? Тут уже предлагали: делаем два одинаковых по размеру окна, одно с альфа-каналом без контролов, а над ним второе с контролами и WS_EX_TRANSPARENT. Остается синхронизировать все операции над ними и обеспечить всегда правильный взаимный z-order. Изврат, но если заказчик так хочет изврат -- пусть его и получает, кто ж ему лекарь?
|
|||
|
||||
Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 2 Всего: 3 |
-------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Я даже попробовал его. Трудновато
А так выглядит очень даже ничего. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
sw04 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 372 Регистрация: 22.1.2007 Где: Ufa Репутация: нет Всего: 18 |
Чем Вам не угодил пример из статьи прозрачности форм?
получается ровно так как надо - все компоненты изображены нормально, а сама форма прозрачная. Есть минус в перерисовке при любом движении окна, но другого решения пока не видел. -------------------- <удалено администрацией> |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Так она наверное без конролов совсем. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Вот какой изврат я нарисовал
![]() Прежде чем качать можете глянуть скрин. Основной принцип заключается в создании второй прозрачной формы, которая всегда располагается под основной формой. Дырки в основной форме я добился с помощью её свойсвта Transparent и TransparentColor. Скачивайте, смотрите. Это сообщение отредактировал(а) Yanis - 9.6.2007, 22:52 Присоединённый файл ( Кол-во скачиваний: 69 ) ![]() |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Yanis, Ну ты бы хоть рассказал вкратце, что главная форма у тебя полностью прозрачная и на ней все компоненты, а нижняя форма полупрозрачная и пустая с убранным заголовком. Вот только есть один ньюанс, когда по форме кликаешь, то она чуток подмигивает, но обработчик быстро поднимает на верх нужную форму. Теперь можно нижнюю сделать вообще с изменяющейся прозрачностью. Работает быстро и почти безупречно. Зачет.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Alexeis
Всё таки лучше один раз потрогать, чем сто раз прочитать ![]() Я думаю, что с не VCL-евскими окошками вообще летать будет. |
|||
|
||||
Yanis |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Alexeis
Твои слова
![]() Достаточно заменить:
на
Исправленный исходник прилагается. В этот раз только код. Присоединённый файл ( Кол-во скачиваний: 71 ) ![]() |
||||||
|
|||||||
ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 2 Всего: 12 |
Eсли можно раскажите суть метода а то я так и непонял
![]() Это сообщение отредактировал(а) ivan219 - 10.6.2007, 11:05 |
|||
|
||||
Yanis |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
А ты скачай. Там же всё просто. Попробуй такой код на пустой форме:
Все контролы с цветом clPurple, расположенные теперь на этой форме будут дырявить форму. Если дописать:
![]() Что бы нельзя было кликнуть «под формой», я располагаю форму с прозрачностью 1 под главной формой. Это сообщение отредактировал(а) Yanis - 10.6.2007, 11:25 |
||||
|
|||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Более того нижнюю форму можно сделать с градиентной прозрачностью, т.е. плавно растворяющуюся к краям. Это делается при помощи UpdateLayeredWindow. В ней можно задать прозрачность каждого пиксела. Как я понял эта функция была введена для создания стартовых окошек, потому на ней не видны контролы. Но она очень даже подошла бы как фон к примеру Яниса. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Alexeis |
|
||||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Вот гибрид на основе примеров Яниса и Гирдера. Теперь в качестве фона у нас круговой градиент похожий на стекло бутылки.
Присоединённый файл ( Кол-во скачиваний: 133 ) ![]() -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |