Показать сообщение отдельно
Старый 02.11.2007, 16:05   #1
Prof. BiG BanG
Оператор ЭВМ
 
Регистрация: 18.10.2007
Сообщений: 22
Написано 3 полезных сообщений
(для 3 пользователей)
Хорошо Прозрачность окон в Windows

Многие интересуются как сделать прозрачным какое-либо окно.
Если поискать в Интернете, почитать MSDN, справочники по WinApi, то окажется, что это вовсе не сложно (сложнее будет написать это на PureBasic'e)
Вот что у меня получилось:
OpenWindow(0,50,50,200,200,"Prof. BiG BanG")
;Открываем окно

aw=GetActiveWindow_()
;Получаем указатель(handle) на активное окно(то, которое открыли:))
SetWindowLong_(aw,#GWL_EXSTYLE,GetWindowLong_(aw,#GWL_EXSTYLE)!#WS_EX_LAYERED)
;Нужно для установки прозрачности окна

For i=0 To 255 
;прозрачность меняется от 0 до 255
  SetLayeredWindowAttributes_(aw,0,i,#LWA_ALPHA)
 ; устанавливаем прозрачность окна RedrawWindow_(aw,0,0,#RDW_ERASE|#RDW_INVALIDATE|#RDW_FRAME|#RDW_ALLCHILDREN)
;Перерисовываем содержимое окна
  Sleep_(10)
;Задержка(чтобы не расходовать зря время процессора)
 Event = WaitWindowEvent()
;ожидаем поступления сообщения окну
Next i

Ends=0
Repeat
  Event = WaitWindowEvent()
  ;Insert code here:)
  If Event = #PB_Event_CloseWindow
    Ends=1
  EndIf
Until Ends
Вот вроде и всё
(Offline)