Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2007, 09:41   #1
AidarBik
Форумчанин
 
Регистрация: 12.06.2007
Сообщений: 130
По умолчанию Прозрачность для всех окон

Как можно установить прозрачность для всех окон?
Мне кажется, что нужно отправлять какое-то сообщение, но я не знаю, какое. И как получить все HWND?
AidarBik вне форума Ответить с цитированием
Старый 04.11.2007, 11:16   #2
ChukCha
Пользователь
 
Регистрация: 18.04.2007
Сообщений: 80
По умолчанию

Вот прозрачность на одно окно.
И на то штобы словить все окна и скрыть их.

Смешай както и все получится.
Вложения
Тип файла: rar Prozrachnost6.rar (4.5 Кб, 43 просмотров)
Тип файла: rar Ischeznovenie_Okon.rar (4.7 Кб, 35 просмотров)
ChukCha вне форума Ответить с цитированием
Старый 04.11.2007, 11:21   #3
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
Сообщение Прозрачные формы

В Delphi 6 - доступна одна из возможностей создавать (полу)прозрачные формы (окна). Delphi 6 есть класс TForm, который поддерживает формы со слоями, которые имеют свойства AlphaBlend, AlphaBlendValue, TransparentColor, и TransparentColorValue.

Чтобы подготовить форму к прозрачности, нужно установить свойство AlphaBlend в True. Если AlphaBlend установлено в True, то свойство AlphaBlendValue указывает степень прозрачности. Это свойство позволяет задать значения от 0 до 255. 0 - полная прозрачность окна, 255 - непрозрачное окно.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 04.11.2007, 12:17   #4
AidarBik
Форумчанин
 
Регистрация: 12.06.2007
Сообщений: 130
По умолчанию

Цитата:
Сообщение от AlDelta Посмотреть сообщение
В Delphi 6 - доступна одна из возможностей создавать (полу)прозрачные формы (окна). Delphi 6 есть класс TForm, который поддерживает формы со слоями, которые имеют свойства AlphaBlend, AlphaBlendValue, TransparentColor, и TransparentColorValue.

Чтобы подготовить форму к прозрачности, нужно установить свойство AlphaBlend в True. Если AlphaBlend установлено в True, то свойство AlphaBlendValue указывает степень прозрачности. Это свойство позволяет задать значения от 0 до 255. 0 - полная прозрачность окна, 255 - непрозрачное окно.
Это я знаю, но мне нужно было, чтобы прозрачность не у моих окон,а у всех окон в системе.
P.S. ChukCha, спасибо!

Последний раз редактировалось AidarBik; 04.11.2007 в 12:20.
AidarBik вне форума Ответить с цитированием
Старый 04.11.2007, 18:39   #5
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
По умолчанию

1) Ищи функцию поиска всех окон(заголовков(их много найти легко)) и заноси в массив, потом используй функциюfindwindow, она возвращает HWND окна , поставь всё это в цикл от 1 до количества найденных окон/HWND и юзай ->
Вот я кусок из програмки примера дам :
Код:
procedure TForm1.Button42Click(Sender: TObject);
var
old: longint;
hwin:HWND;
begin
hwin:=FindWindow(nil, PChar(edit6.text)); //только это у меня была строчка =)
if hwin<>0 then
begin
old:=GetWindowLongA(hwin,GWL_EXSTYLE) ;
SetWindowLongA(hwin,GWL_EXSTYLE,old or $80000);
SetLayeredWindowAttributes(hwin, 0, spinedit7.Value , $2); // а это интегер ! значение только от 0 - 255 !!! инача error
end;
end;
---
GAGARIN-NEW вне форума Ответить с цитированием
Старый 05.11.2007, 19:18   #6
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

C антивирем KIS 7.0.0.124, используя FindWindow для поиска окон неполучается в списке моргание. Хотя от шестой версии и ниже всё работало, как-то он защищает себя от этого. Но в Enum его видно.
Alter вне форума Ответить с цитированием
Старый 05.11.2007, 20:31   #7
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Касперу +
пыщь
JTG вне форума Ответить с цитированием
Старый 28.01.2008, 13:13   #8
AidarBik
Форумчанин
 
Регистрация: 12.06.2007
Сообщений: 130
По умолчанию

А как вернуть окну прежний вид?
P.S. Не устанавливать значение прозрачности 255, а вернуть старый стиль.
AidarBik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поверх всех окон delphin100 Общие вопросы Delphi 2 19.04.2008 19:00
Поверх всех окон Патрон Общие вопросы Delphi 1 18.04.2008 16:57
Форма поверх всех окон (!!!) Viteef Общие вопросы Delphi 12 29.06.2007 00:22
Форма поверх всех окон. Kamikadze_666 Общие вопросы Delphi 1 16.05.2007 07:10
чекбокс - поверх всех окон puz Компоненты Delphi 6 11.05.2007 17:58