Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно
MKN MKN вне форума

Ветеран


Сообщения: 2355
Благодарности: 558

Профиль | Отправить PM | Цитировать


Ещё пример для функции CreateWindowEx :

Создаём на странице окно и помещаем в это окно флеш анимацию ( в формате swf )

Код: Выделить весь код
!include MUI2.nsh
Page custom fnc_Create
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
OutFile "test_play_swf.exe"
Var dlg

Function fnc_Create
nsDialogs::Create 1018
Pop $dlg
System::Call `atl::AtlAxWinInit() i.r0`
System::Call `kernel32::GetModuleHandle(i 0) i.R3`
System::Call 'user32::CreateWindowEx(i 0, t "AtlAxWin", t "{D27CDB6E-AE6D-11cf-96B8-444553540000}", i ${WS_CHILD}|${WS_VISIBLE}, i 15, i 8, i 400, i 40, i $HWNDPARENT, i 0, i R3, i 0) i.R1'
System::Call `atl::AtlAxGetControl(i R1, *i .r1) i .r0`
StrCpy $3 "$EXEDIR\a.swf"
System::Call "$1->22(w r3) i .r2" ; 22 = set_Movie	
nsDialogs::Show
FunctionEnd

Section
SectionEnd
AtlAxWinInit - Эта функция инициализирует код размещения элемента управления библиотеки ATL
путем регистрации классов окна "AtlAxWin80" и "AtlAxWinLic80" плюс несколько пользовательских сообщений окна.
(ATL - Active Template Library - Это библиотека классов и шаблонов, предназначенная для разработки собственных компонетов )

classid - при вставке flash это константа и всегда имеет значение clsid: {D27CDB6E-AE6D-11cf-96B8-444553540000},
это значение указывает на элемент ActiveX : \WINDOWS\system32\Macromed\Flash\Flash11e.ocx

AtlAxGetControl - Получает указатель интерфейса IUnknown элемента управления, который хозяйничает в окне.

Вот комплект-пример :

Последний раз редактировалось MKN, 27-05-2020 в 16:17.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:41, 24-05-2013 | #378