- Сообщения
- 5,379
- Репутация
- 2,724
Метод создания полупрозрачного фона для окна, с сохранением "непрозрачности" для его элементов. Для запуска необходима WinAPIEx.au3 библиотека.
Код:
#Include <GUIConstantsEx.au3>
#Include <WindowsConstants.au3>
#Include <WinAPIEx.au3>
$hForm = GUICreate('', 800, 600, -1, -1, $WS_POPUP)
GUICtrlCreatePic(@WindowsDir & '\Web\Wallpaper\Ascent.jpg', 0, 0, 800, 600, -1, $GUI_WS_EX_PARENTDRAG)
$hMain = GUICreate('', 800, 600, -1, -1, $WS_POPUP, $WS_EX_LAYERED, $hForm)
GUISetBkColor(0xABABAB)
GUICtrlCreateButton('OK', 365, 560, 70, 23)
GUICtrlCreateEdit('', 40, 40, 720, 503)
_WinAPI_SetLayeredWindowAttributes($hMain, 0xABABAB, 0, $LWA_COLORKEY)
GUIRegisterMsg($WM_MOVE, 'WM_MOVE')
WinSetTrans($hForm, '', 127)
GUISetState(@SW_SHOW, $hForm)
GUISetState(@SW_SHOW, $hMain)
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func WM_MOVE($hWnd, $iMsg, $wParam, $lParam)
WinMove($hMain, '', BitAND($lParam, 0xFFFF), BitShift($lParam, 16))
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_MOVE