|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Графичекое, прозрачное окно
Как можно сделать так, чтобы в любом месте рабочего стола появлялись небольшие графические, прозрачные окна (типа прямоуголник, но прозрачный)?
|
#2
|
||||
|
||||
Для установки прозрачности можно делать так:
Код:
var AStyle: Integer; begin AStyle := GetWindowLong(Handle, GWL_EXSTYLE); if (AStyle and WS_EX_LAYERED) = 0 then SetWindowLong(Handle, GWL_EXSTYLE, AStyle or WS_EX_LAYERED); SetLayeredWindowAttributes(Handle, 0, 125, LWA_ALPHA); 125 - степень прозрачности в интервале 0..255 Чтобы убрать прозрачность: Код:
var AStyle: Integer; begin AStyle := GetWindowLong(Handle, GWL_EXSTYLE); if (AStyle and WS_EX_LAYERED) <> 0 then SetWindowLong(Handle, GWL_EXSTYLE, AStyle xor WS_EX_LAYERED); Это применимо к любому окну - форме, панели и т.п В твоем случае, можно динамически создавать панель на рабочем столе и делать её прозрачной. Про создание, здесь: http://www.delphisources.ru/forum/sh...24&postcount=6 Велик и могуч наш Object Pascal ! ICQ: 357-591-887 |
#3
|
|||
|
|||
А еще можно в опции формы "TransparentColor" сделать True
Ниже выбрать цвет к примеру желтый, и на форме весь желтый цвет прзрачен, |
#4
|
|||
|
|||
Цитата:
|