1

Тема: AHK: Встраивание вырезанной области - в GUI

Здравствуйте, участники форума.
У меня есть скрипт, который вырезает область из определенной программы.

Как встроить эту вырезанную область - в gui, чтобы можно было ее перетаскивать по рабочему столу ?


WinSet, Region, 35-28 W250 H200, Безымянный — Блокнот

2

Re: AHK: Встраивание вырезанной области - в GUI

Не знаю, как у вас, а у меня этот код на Windows 10 не делает ничего, а на Windows 7 вырезает регион, но оставляет заголовок и рамку окна видимыми.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Встраивание вырезанной области - в GUI

plank1433, можно периодически проверять координаты окна GUI скрипта. А если они изменились, подтягивать туда же вырезанную область.

4

Re: AHK: Встраивание вырезанной области - в GUI

Подскажите - как скриптом - встроить эту вырезанную область - в gui, чтобы можно было ее перетаскивать по рабочему столу ?

5

Re: AHK: Встраивание вырезанной области - в GUI

ypppu, а как это скриптом сделать.

6

Re: AHK: Встраивание вырезанной области - в GUI

  1. Узнаёте координаты своего GUI;

  2. Из них вычисляете, какие координаты должны быть у вырезанной области;

  3. Изменяете координаты вырезанной области командой WinMove.

7

Re: AHK: Встраивание вырезанной области - в GUI

А как реализовать в скрипте - эти три команды?

Приведите пример, если несложно.
А я потом его сам доработаю.

8

Re: AHK: Встраивание вырезанной области - в GUI

  1. WinGetPos

  2. Сами считаете

  3. Уже выше написал

9

Re: AHK: Встраивание вырезанной области - в GUI

Так в GUI-то это окно как встроить ?

Это же два разных окна - окно GUI и  вырезанное окно.

10 (изменено: dmitry-semin, 2020-09-30 06:34:17)

Re: AHK: Встраивание вырезанной области - в GUI

plank1433
Цикл, который следит за сменой координат основного окна и пропорционально смещению основного окна смещает ваш интерфейс? Вы это хотите?

11

Re: AHK: Встраивание вырезанной области - в GUI

dmitry-semin, да я хочу чтобы эту вырезанную область можно было мышкой за title - перемещать.

12 (изменено: serzh82saratov, 2020-10-01 18:00:29)

Re: AHK: Встраивание вырезанной области - в GUI


WinExist("ahk_class Notepad") 
WinSet, Style, -0x00C00000			; WS_CAPTION
WinSet, Style, -0x00040000			; WS_SIZEBOX
WinSet, Region, 35-28 W250 H200
Gui, +HWNDhGui
Gui, Color, 123456
Gui, Show, w250 h200  
DllCall("SetParent", "Ptr", WinExist(), "Ptr", hGui)
WinMove -35, -28
Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

13

Re: AHK: Встраивание вырезанной области - в GUI

Спасибо.
Объясните пожалуйста, а как использовать этот код?
Я применяю этот скрипт к открытому на весь экран тотал-коммандеру:

WinExist("ahk_class TTOTAL_CMD") 
WinSet, Style, -0x00C00000			; WS_CAPTION
WinSet, Style, -0x00040000			; WS_SIZEBOX
WinSet, Style, +0x80000000			; WS_POPUP
WinSet, Region, 860-121 W340 H600
Gui, +HWNDhGui
Gui, Color, 123456
Gui, Show, w250 h200  
DllCall("SetParent", "Ptr", WinExist(), "Ptr", hGui)
WinMove -35, -28
Return

Не работает.

Применяю его для VLC:

WinExist("ahk_class Qt5QWindowIcon") 
WinSet, Style, -0x00C00000			; WS_CAPTION
WinSet, Style, -0x00040000			; WS_SIZEBOX
WinSet, Style, +0x80000000			; WS_POPUP
WinSet, Region, 860-121 W340 H600
Gui, +HWNDhGui
Gui, Color, 123456
Gui, Show, w250 h200  
DllCall("SetParent", "Ptr", WinExist(), "Ptr", hGui)
WinMove -35, -28
Return

Не работает.

Применяю его на 3DMeNow:

WinExist("ahk_class TMainForm") 
WinSet, Style, -0x00C00000			; WS_CAPTION
WinSet, Style, -0x00040000			; WS_SIZEBOX
WinSet, Style, +0x80000000			; WS_POPUP
WinSet, Region, 860-121 W340 H600
Gui, +HWNDhGui
Gui, Color, 123456
Gui, Show, w250 h200  
DllCall("SetParent", "Ptr", WinExist(), "Ptr", hGui)
WinMove -35, -28
Return

Тоже не работает.
То есть - создает такое небольшое окно с синим фоном внутри.
Ошибку не показывает - просто не отображает вырезанную область.

Как этот скрипт - применить не только для блокнота, но и для этих программ тоже ?

14 (изменено: serzh82saratov, 2020-10-01 18:00:15)

Re: AHK: Встраивание вырезанной области - в GUI

А новые координаты за вас Пушкин должен дописать?

WinExist("ahk_class TTOTAL_CMD") 
WinSet, Style, -0x00C00000			; WS_CAPTION
WinSet, Style, -0x00040000			; WS_SIZEBOX
WinSet, Region, 860-121 W340 H600
Gui, +HWNDhGui
Gui, Color, 123456
Gui, Show, w340 h600  
DllCall("SetParent", "Ptr", WinExist(), "Ptr", hGui)
WinMove -860, -121
Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

15

Re: AHK: Встраивание вырезанной области - в GUI

serzh82saratov, теперь ясно.
Спасибо.

16

Re: AHK: Встраивание вырезанной области - в GUI

serzh82saratov

Очень интересный вариант создать свою 'песочницу'. Можно добавить свои кнопки к Gui и будет свой настраиваемый блокнот.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101