Здравствуйте!
Есть окно со стилем $WS_POPUPWINDOW на Autoit 3.2.8.1
Как сделать чтобы в за определённую часть окна его можно было двигать мышкой?
[решено] Активная часть окна
-
Creat0R
Re: [решено] Активная часть окна
Создаём Label, и присваиваем ему стиль $GUI_WS_EX_PARENTDRAG:
Код:
Код:
Код: Выделить всё
#include
#include
#include
$GUI = GUICreate("Test Script", 300, 200, -1, -1, $WS_POPUPWINDOW)
GUICtrlCreateLabel("Drag me", 0, 10, 300, 20, $SS_CENTER, $GUI_WS_EX_PARENTDRAG)
GUICtrlSetFont(-1, 12, 800)
$Close_Button = GUICtrlCreateButton("Close", 20, 170, 60, 20)
GUISetState(@SW_SHOW, $GUI)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $Close_Button
Exit
EndSwitch
WEnd-
beve
Re: [решено] Активная часть окна
Цитата morgan1991:
Как сделать чтобы в за определённую часть окна его можно было двигать мышкой?
Вот есть скрипт CreatOR-a:
Код:
Я только кнопку добавил...
Еще есть код Diamond-а:
Код:
Как сделать чтобы в за определённую часть окна его можно было двигать мышкой?
[решено] Активная часть окна
Вот есть скрипт CreatOR-a:
Код:
Код: Выделить всё
#include
Global $GUI = GuiCreate("Drag using any place on GUI", -1, -1, -1, -1, $WS_POPUPWINDOW)
$Close_Button = GUICtrlCreateButton("Close", 5, 375, 60, 20)
GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST")
GUISetState()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $Close_Button
Exit
EndSwitch
WEnd
Func WM_NCHITTEST($hWnd, $iMsg, $iwParam, $ilParam)
If $hWnd = $GUI And $iMsg = $WM_NCHITTEST Then
Local $id = _API_DefWindowProc($hWnd, $iMsg, $iwParam, $ilParam)
If $id = 1 Then
Return 2
Else
Return $id
EndIf
EndIf
EndFunc
Func _API_DefWindowProc($hWnd, $iMsg, $iwParam, $ilParam)
Local $aResult
$aResult = DllCall("User32.dll", "int", "DefWindowProc", "hwnd", $hWnd, "int", $iMsg, "int", $iwParam, "int", $ilParam)
Return $aResult[0]
EndFuncЯ только кнопку добавил...
Еще есть код Diamond-а:
Код:
Код: Выделить всё
#include
#include
Global Const $WM_LBUTTONDOWN = 0x0201
$HWnd = GUICreate("DRAG_COMMAND",240,180,-1,-1,$WS_POPUPWINDOW)
$Close_Button = GUICtrlCreateButton("Close", 5, 160, 60, 20)
GUIRegisterMsg($WM_LBUTTONDOWN,"DRAG_COMMAND")
GUISetState()
While 1
$msg = GUIGetMsg(0)
Switch $msg
Case $GUI_EVENT_CLOSE,$Close_Button
Exit
EndSwitch
WEnd
Func DRAG_COMMAND($HWnd,$command,$wParam,$lParam)
If BitAND(WinGetState($HWnd),32) Then Return
DllCall("user32.dll","long","SendMessage","hwnd",$HWnd,"int",$WM_SYSCOMMAND,"int",0xF009,"int",0)
EndFunc-
morgan1991
Re: [решено] Активная часть окна
Цитата beve:
есть скрипт CreatOR-a
Есть, но в вопросе указано:
Цитата morgan1991:
Как сделать чтобы в за определённую часть окна его можно было двигать мышкой?
Т.е не повсюду
.
есть скрипт CreatOR-a
[решено] Активная часть окна
Есть, но в вопросе указано:
Цитата morgan1991:
Как сделать чтобы в за определённую часть окна его можно было двигать мышкой?
[решено] Активная часть окна
Т.е не повсюду
.-
Creat0R