Здравствуй, форум. Мне захотелось добавить AVI анимацию в гуй, и я, полазив по справке WinAPI, написал следующую процедуру:
Код:
Procedure AviGadget(Parent, X, Y, Width, Height, File$, Style) #IDC_ANIMATE = 301 Protected hInstance = GetModuleHandle_(#Null) Macro Animate_Create(hwndP, id, dwStyle, hInstance) CreateWindow_(#ANIMATE_CLASS, #Null, dwStyle, 0, 0, 0, 0, hwndP, id, hInstance, #Null) EndMacro Macro Animate_Open(hwnd, szName) SendMessage_(hwnd, #ACM_OPEN, 0, szName) EndMacro Protected hAnimate = Animate_Create(WindowID(Parent), #IDC_ANIMATE, Style | #WS_CHILD, hInstance) SetWindowPos_(hAnimate, 0, X, Y, Width, Height, #SWP_NOZORDER) Animate_Open(hAnimate, File$) ShowWindow_(hAnimate, #SW_SHOW) ProcedureReturn hAnimate EndProcedure
И, вроде, всё работает, за исключением стиля ACS_TRANSPARENT (прозрачный фон для анимации). Он игнорируется, а с остальными стилями всё в порядке. Что я делаю не так?