Дата: Воскресенье, 25.05.2014, 12:02 | Сообщение # 1
Боец
Сообщений: 167
Статус: Offline
В этом уроке Вы научитесь получать эффект "выдвижения" дополнительного окна из основного с помощью winapi-функции AnimateWindow(), и привязать дополнительное окно к основному при передвижении.
Follow(wp, lp, msg, hwnd) { global hGui1, WI, i static k if (msg = 0x112) { if (wp = 0xF020 && k := 1) ; SC_MINIMIZE = 0xF020 Gui, 2:Show, Hide ; скрываем окно-слайдер, если оно выдвинуто, при минимизации основного окна
if (wp = 0xF120 && !(k := 0) && i) ; SC_RESTORE = 0xF120 Gui, 2:Show ; показываем окно-слайдер, если оно было выдвинуто, при восстановлении основного окна }
if (!i || hwnd != hGui1 || k = 1) return ; привязываем окно-слайдер к правой границе основного окна DllCall("GetWindowInfo", Ptr, hGui1, Ptr, &WI) Gui, 2:Show, % "x" NumGet(WI, 12, "UInt") " y" NumGet(WI, 24, "UInt") . " h" NumGet(WI, 32, "UInt") - NumGet(WI, 24, "UInt") " NA" }
Автор: teadrinker
Сообщение отредактировал elnur - Воскресенье, 25.05.2014, 14:29