Что нового

_WinAPI_UpdateLayeredWindowEx с поддержкой изменения размера

Автор
V

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Код:
Func WM_SIZING($hWnd, $iMsg, $wParam, $lParam)
    Switch $hWnd
        Case $hForm
            Local $Pos = _WinAPI_GetPosFromRect(DllStructCreate($tagRECT, $lParam))
            _WinAPI_UpdateLayeredWindowEx($hForm, $Pos[0], $Pos[1], _ComposeBitmap($Pos[2], $Pos[3]), 255, 1)
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_SIZING

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

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Viktor1703 сказал(а):
Не получается, точнее всё убралось, но тогда дочернее окно куда то смещается по не заданным мной координатам.

Перемещайте дочернее окно в этом же обработчике.


Добавлено:
Сообщение автоматически объединено:

Я же вам говорил, что нужно проверять $hWnd, а не $iMsg.

Код:
Func WM_MOVE($hWnd, $iMsg, $wParam, $lParam)
	Switch $hWnd
		Case $hForm
			Local $Pos = _WinAPI_GetPosFromRect(_WinAPI_GetWindowRect($hForm))
			WinMove($hGui, "", $Pos[0] + 8, $Pos[1] + 28, $Pos[2] - 17, $Pos[3] - 37)
	EndSwitch
	Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_MOVE
 
Верх