Что нового

Закрепить несколько окон к одному

reset86

Новичок
Сообщения
47
Репутация
0
Закрепить несколько окон к верхнему одному, при перетаскивании, за ним перетаскиваются все окна, сейчас перетаскивается только одно.
Проблему решил, сам.
Рабочий вариант. Может кому пригодится.

Код:
#include <GUIConstants.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>

Global $GUI=0, $GUI2=0, $GUI3=0
$GUI = GUICreate("", 805, 0, -1, -1, -1, $WS_EX_TOPMOST)
GUISetState()
GUIRegisterMsg($WM_MOVE, "WM_MOVE")

$pos = WinGetPos($GUI)
$GUI2 = GUICreate("", 400, 400, $pos[0]+3, $pos[1]+$pos[3]+1, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW))
GUISetState()

$posa = WinGetPos($GUI)
$GUI3 = GUICreate("", 400, 400, $posa[0]+408, $posa[1]+$posa[3]+1, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW))
GUISetState()

Do
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
Until 0

Func WM_MOVE()
Local $pos = WinGetPos($GUI)
If WinExists($GUI2) Then WinMove($GUI2, "", $pos[0]+3, $pos[1]+$pos[3]+1)

Local $posa = WinGetPos($GUI)
If WinExists($GUI3) Then WinMove($GUI3, "", $posa[0]+408, $posa[1]+$posa[3]+1)
EndFunc
 
A

Alofa

Гость
Так-то оно правильней будет:
Код:
#include <GUIConstants.au3>

Global $GUI, $GUI2, $GUI3
$GUI = GUICreate("", 805, 0, -1, 100, -1, $WS_EX_TOPMOST)
GUISetState()

$GUI2 = GUICreate("Button 1", 400, 400, 3, 5, $WS_POPUP, $WS_EX_MDICHILD, $GUI)
GUISetBkColor(0x0022FF)
GUISetState()

$GUI3 = GUICreate("Button 2", 400, 400, 408, 5, $WS_POPUP, $WS_EX_MDICHILD, $GUI)
GUISetBkColor(0x0EAD00)
GUISetState()

While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			Exit
	EndSwitch
WEnd
 
Автор
reset86

reset86

Новичок
Сообщения
47
Репутация
0
Alofa, согласен, намного проще и лучше. Я поторопился, просто надо было дождаться ответа )))
 

zbz

Новичок
Сообщения
74
Репутация
1
Alofa сказал(а):
Так-то оно правильней будет:
Код:
#include <GUIConstants.au3>

Global $GUI, $GUI2, $GUI3
$GUI = GUICreate("", 805, 0, -1, 100, -1, $WS_EX_TOPMOST)
GUISetState()

$GUI2 = GUICreate("Button 1", 400, 400, 3, 5, $WS_POPUP, $WS_EX_MDICHILD, $GUI)
GUISetBkColor(0x0022FF)
GUISetState()

$GUI3 = GUICreate("Button 2", 400, 400, 408, 5, $WS_POPUP, $WS_EX_MDICHILD, $GUI)
GUISetBkColor(0x0EAD00)
GUISetState()

While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			Exit
	EndSwitch
WEnd

а как будет выглядет скрипт, если в закрепленном окне будет отоброжено гифка (GIF)?
 
Верх