Автор Тема: Закрепить несколько окон к одному  (Прочитано 1666 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн reset86 [?]

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

Код: AutoIt [Выделить]
#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

« Последнее редактирование: Февраль 03, 2017, 22:12:48 от reset86 »

Русское сообщество AutoIt

Закрепить несколько окон к одному
« Отправлен: Февраль 03, 2017, 21:36:34 »

Помечен как лучший ответ пользователем reset86 Отправлен Февраль 04, 2017, 02:42:26

Оффлайн Alofa [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1433
  • Репутация: 212
  • Пол: Мужской
  • Windows 7 /10 [x64]
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Закрепить несколько окон к одному
« Ответ #1, Отправлен: Февраль 03, 2017, 22:41:48 »
Так-то оно правильней будет:
Код: AutoIt [Выделить]
#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 [?]

  • Новичок
  • *
  • Сообщений: 47

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Закрепить несколько окон к одному
« Ответ #2, Отправлен: Февраль 04, 2017, 02:44:54 »
Alofa, согласен, намного проще и лучше. Я поторопился, просто надо было дождаться ответа )))
« Последнее редактирование: Февраль 04, 2017, 02:50:14 от reset86 »

Оффлайн zbz [?]

  • Новичок
  • *
  • Сообщений: 50
  • Репутация: 0
    • Награды
Re: Закрепить несколько окон к одному
« Ответ #3, Отправлен: Август 28, 2018, 11:05:30 »
Так-то оно правильней будет:
Код: AutoIt [Выделить]
#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)?

Русское сообщество AutoIt

Re: Закрепить несколько окон к одному
« Ответ #3 Отправлен: Август 28, 2018, 11:05:30 »

Оффлайн Alofa [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1433
  • Репутация: 212
  • Пол: Мужской
  • Windows 7 /10 [x64]
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Закрепить несколько окон к одному
« Ответ #4, Отправлен: Август 28, 2018, 11:56:23 »
OffTopic
... будет отоброжено гифка (GIF)?
А разве это относится к данной теме? Воспользуйтесь поиском или создайте новую.
« Последнее редактирование: Август 28, 2018, 12:29:11 от Alofa »

Русское сообщество AutoIt

Re: Закрепить несколько окон к одному
« Ответ #4 Отправлен: Август 28, 2018, 11:56:23 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
6 Ответов
4248 Просмотров
Последний ответ Декабрь 07, 2011, 11:01:42
от BaRsupillamy
1 Ответов
2363 Просмотров
Последний ответ Август 15, 2012, 13:37:10
от zlo-kazan
1 Ответов
3233 Просмотров
Последний ответ Август 16, 2012, 11:59:23
от gregaz
1 Ответов
1777 Просмотров
Последний ответ Декабрь 12, 2012, 02:09:36
от sngr
2 Ответов
1957 Просмотров
Последний ответ Март 27, 2013, 13:25:02
от mef-t
3 Ответов
2758 Просмотров
Последний ответ Май 17, 2014, 13:26:11
от firex
0 Ответов
1615 Просмотров
Последний ответ Июнь 02, 2014, 19:46:23
от madmasles
1 Ответов
608 Просмотров
Последний ответ Февраль 17, 2017, 22:26:57
от InnI
0 Ответов
823 Просмотров
Последний ответ Апрель 15, 2017, 12:59:01
от SealAlbinos
4 Ответов
639 Просмотров
Последний ответ Август 15, 2017, 14:24:20
от mv6677