1 (изменено: serzh82saratov, 2019-04-09 23:55:20)

Тема: AHK: Эффекты окон - Blur, Glass, TransParent, TransColor.

Из рубрики - а вдруг.
Реально ли в Windows 10 отобразить рамку и заголовок окна как Windows 7?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

2

Re: AHK: Эффекты окон - Blur, Glass, TransParent, TransColor.

Что еще за рамка и заголовок? Нужен стиль, эффект Aero, или и то и другое?
Для всей системы или для отдельного окна?

3

Re: AHK: Эффекты окон - Blur, Glass, TransParent, TransColor.

Полупрозрачная рамка для отдельного окна.

https://i.imgur.com/7CNMl0P.png

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

4

Re: AHK: Эффекты окон - Blur, Glass, TransParent, TransColor.

И так.
https://i.imgur.com/IX28ceD.png

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

5

Re: AHK: Эффекты окон - Blur, Glass, TransParent, TransColor.

Для всей системы Aero видел, для отдельного окна не уверен.

6

Re: AHK: Эффекты окон - Blur, Glass, TransParent, TransColor.

Хотя да, это возможно, используя недокументированное SetWindowCompositionAttribute API.
https://i.stack.imgur.com/OPeCz.png
Что касается стиля кнопок и углов, то они контролируются, как ни странно, стилем. Можете взять его из готовых решений предлагающих переделать стиль под Windows 7. Применить стиль можно с помощью GUI Skinning Methods.

P.S.
Совсем забыл, serzh82saratov'у ведь можно писать только на великом и могучем, а по обеим ссылкам нерусский текст.
Придется ему снова выбирать — сплевывать или сглатывать.

7 (изменено: serzh82saratov, 2019-03-31 17:43:10)

Re: AHK: Эффекты окон - Blur, Glass, TransParent, TransColor.

В заголовке под текстом ещё бы фон попрозрачнее...

stealzy пишет:

Придется ему снова выбирать

Придется, такая жизнь.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

8

Re: AHK: Эффекты окон - Blur, Glass, TransParent, TransColor.

Теперь интересно, можно ли перенести это на семёрку, как есть, то есть только блюр, без зеркального эффекта.



EnableBlur(gHwnd)
{
    ; WindowCompositionAttribute
    WCA_ACCENT_POLICY := 19
    
    ; AccentState
    ACCENT_DISABLED := 0,
    ACCENT_ENABLE_GRADIENT := 1,
    ACCENT_ENABLE_TRANSPARENTGRADIENT := 2
    ACCENT_ENABLE_BLURBEHIND := 3
    ACCENT_INVALID_STATE := 4

    accentStructSize := VarSetCapacity(AccentPolicy, 4*4, 0)
    NumPut(ACCENT_ENABLE_BLURBEHIND, AccentPolicy, 0, "UInt")

    padding := A_PtrSize == 8 ? 4 : 0
    VarSetCapacity(WindowCompositionAttributeData, 4 + padding + A_PtrSize + 4 + padding)
    NumPut(WCA_ACCENT_POLICY, WindowCompositionAttributeData, 0, "UInt")
    NumPut(&AccentPolicy, WindowCompositionAttributeData, 4 + padding, "Ptr")
    NumPut(accentStructSize, WindowCompositionAttributeData, 4 + padding + A_PtrSize, "UInt")
    
    DllCall("SetWindowCompositionAttribute", "Ptr", gHwnd, "Ptr", &WindowCompositionAttributeData)
}


Gui +LastFound +hwndgHwnd  +AlwaysOnTop -Caption 
Gui, Color, 000000
; WinSet, TransColor, 000000
Gui, Font, s64, Segoe UI
Gui, Add, Text, x0 y200 w500 Center cWhite, Hello Blur!
Gui, Show, w500 h500 Center
EnableBlur(gHwnd)

И как всё таки добиться зеркального эффекта в 10.

Зеркальный эффект.
https://i.imgur.com/IJ5sooR.png

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

9

Re: AHK: Эффекты окон - Blur, Glass, TransParent, TransColor.

serzh82saratov пишет:

Придется, такая жизнь.

https://i.ytimg.com/vi/W1eSlLw4IJs/hqdefault.jpg
Да, бывают черные полосы.

10

Re: AHK: Эффекты окон - Blur, Glass, TransParent, TransColor.

Я же говорю, такие времена, что только с кем не бывает.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

11

Re: AHK: Эффекты окон - Blur, Glass, TransParent, TransColor.

На Windows 7 текст в контролах почему то прозрачный, судя по аналогии с окном пуск, как то это можно починить.

#SingleInstance Force
#NoEnv
 
Gui, +hwndhGui  
Gui, Color, 000000
Gui, Font, s33
Gui, Add, Button, -BackgroundTrans, Button 
Gui, Add, Text, wp Center -BackgroundTrans, Text
Gui, Add, Edit, wp Center -BackgroundTrans, Edit
Gui, Show, , % " "

VarSetCapacity(rect, 16, 0xff) ; This is the same as setting all fields to -1.
DllCall("dwmapi\DwmExtendFrameIntoClientArea", "Ptr", hGui, "Ptr", &rect)
Return 
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

12

Re: AHK: Эффекты окон - Blur, Glass, TransParent, TransColor.

Так текст с +BackgroundTrans и png картинки отображаются с обводкой TransColor.

TransColor := 0xfffff9
Gui, +hwndhGui +Resize
Gui, Color, %TransColor%
VarSetCapacity(rect, 16, 0xff) ; This is the same as setting all fields to -1.
DllCall("dwmapi\DwmExtendFrameIntoClientArea", "Ptr", hGui, "Ptr", &rect)
Gui, Font, s66 q4
Gui, Add, Button, -BackgroundTrans, Button 
Gui, Add, Text, wp Center -BackgroundTrans, Text
Gui, Add, Text, wp Center +BackgroundTrans, Text
Gui, Add, Edit, wp Center -BackgroundTrans, Edit 
Gui, Show, , % " "

WinSet, TransColor, %TransColor%,ahk_id %hGui%
DllCall("InvalidateRect", "Ptr", hGui, "Ptr", 0, "int", 0) 
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

13

Re: AHK: Эффекты окон - Blur, Glass, TransParent, TransColor.


Gui, +hwndhGui +LastFound -Caption +AlwaysOnTop
WinSet, TransParent, 0
Gui,  Show, NA w1111 h1111

Возможно ли кликнуть в полностью прозрачное окно? TransColor не хотелось бы использовать.


Gui, +hwndhGui +LastFound -Caption +AlwaysOnTop
Gui, Color, 123456
WinSet, TransColor, 123456 
Gui,  Show, NA w1111 h1111
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui