Andreik Posted July 12, 2008 Share Posted July 12, 2008 (edited) How can I do this effect in background of application? Edited July 12, 2008 by Andreik When the words fail... music speaks. Link to comment Share on other sites More sharing options...
Malkey Posted July 12, 2008 Share Posted July 12, 2008 How can I do this effect in background of application? This is a start. Hope it helps. expandcollapse popup#include <GUIConstants.au3> #include <WindowsConstants.au3> #include <WINAPI.au3> ;http://www.autoitscript.com/forum/index.php?s=&showtopic=74768&view=findpost&p=543233 Global Const $WM_LBUTTONDOWN = 0x0201 ; Drag Window 1 of 3 addin Local $iWidth = @DesktopWidth/2, $iHeight = @DesktopHeight/2 ;--------------------------------------- $hGui = GUICreate("BG", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUPWINDOW ) GUISetBkColor(0x000000) WinSetTrans($hGui, "", 180) GUIRegisterMsg($WM_LBUTTONDOWN, "_WinMove") ; Drag Window 2 of 3 addin GUISetState() ;--------------------------------------- $gui = GUICreate("Control Gui", $iWidth , $iHeight, -1, -1,-1, $WS_EX_TOPMOST) ;, $WS_POPUPWINDOW, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $hGui) GUICtrlCreateLabel( @CRLF & " Press Esc to Exit", 10, 10, 200, 50) $but = GUICtrlCreateButton("Button", ($iWidth - 120 - 5) / 2, ($iHeight - 23 - 4) / 2, 120, 23) GUICtrlSetBkColor(-1, 0xFFFF00) GUISetBkColor(0xABCDEF) _WinAPI_SetLayeredWindowAttributes($gui, 0xABCDEF) GUISetState() ;--------------------------------------- Do $msg = GUIGetMsg() If $msg = $but Then MsgBox(0, "", "Button Pressed",0,$gui) Until $msg = $GUI_EVENT_CLOSE ; From http://www.autoitscript.com/forum/index.ph...st&p=541838 Func _WinAPI_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $dwFlages = 0x03, $isColorRef = False) If $dwFlages = Default Or $dwFlages = "" Or $dwFlages < 0 Then $dwFlages = 0x03 If Not $isColorRef Then $i_transcolor = Hex(String($i_transcolor), 6) $i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2)) EndIf Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $dwFlages) Select Case @error Return SetError(@error, 0, 0) Case $Ret[0] = 0 Return SetError(4, _WinAPI_GetLastError(), 0) Case Else Return 1 EndSelect EndFunc ;==>_WinAPI_SetLayeredWindowAttributes ; ================================================================= ; Drag Window 3 of 3 addin ; ================================================================= Func _WinMove($hwnd, $Command, $wParam, $lParam) If BitAND(WinGetState($hwnd), 32) Then Return $GUI_RUNDEFMSG ;DllCall("user32.dll", "long", "SendMessage", "hwnd", $HWnd, "int", $WM_SYSCOMMAND, "int", 0xF009, "int", 0) If $hwnd = $gui Then DllCall("user32.dll", "int", "SendMessage", "hWnd", $hwnd, "int", $WM_NCLBUTTONDOWN, "int", $HTCAPTION, "int", 0) Return EndFunc ;==>_WinMove Link to comment Share on other sites More sharing options...
Andreik Posted July 12, 2008 Author Share Posted July 12, 2008 Is necessary two GUI? Anyway is ok, I like your example. Thanks. When the words fail... music speaks. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now