Sergey2210
Осваивающий
- Сообщения
- 263
- Репутация
- 31
Версия AutoIt: 3.
Описание: Здравствуйте,помогите реализовать соединение 2х окон при перемещении
Пример:
Описание: Здравствуйте,помогите реализовать соединение 2х окон при перемещении
Пример:
Код:
#include <GUIConstantsEx.au3>
#include <GUIConstants.au3>
#include <WindowsConstants.au3>
$GUITrans = GUICreate("Test", 330, 260, -1, -1,$WS_POPUP)
GUISetBkColor(0x000000)
GUICtrlSetState(-1,$GUI_DISABLE)
_corners(0,0,20,20)
GUICtrlCreateLabel("",0,0,330,40,$WS_CLIPSIBLINGS,$GUI_WS_EX_PARENTDRAG)
GUISetState(@SW_SHOW)
$GUI = GUICreate("", 300, 200, -1, @DesktopHeight /2 - 103, $WS_POPUP, -1, $GUITrans)
$close = GUICtrlCreateButton("close",30,40,80,20)
GUISetState(@SW_SHOW)
WinSetTrans($GUITrans,"",180)
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE,$close
Exit
EndSwitch
WEnd
Func _corners($x1,$y1,$x2,$y2)
$pos = WinGetPos($GUITrans)
$ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", "long", $x1, "long", $y1, "long", $pos[2], "long", $pos[3], "long",$x2, "long", $y2)
If $ret[0] Then
$ret2 = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $GUITrans, "long", $ret[0], "int", 1)
If $ret2[0] Then
Return 1
Else
Return 0
EndIf
EndIf
EndFunc