Мультимедиа для Windows

         

Создание окна


Для создания окна MCI проще всего воспользоваться функцией MCIWndCreate .

Функция MCIWndCreate

HWND MCIWndCreate( HWND hwndParent, // идентификатор родительского окна HINSTANCE hInstance, // идентификатор приложения DWORD dwStyle, // стиль окна LPSTR szFile); // имя устройства или путь к файлу

Параметры функции:

hwndParent

Через этот параметр приложение передает функции идентификатор родительского окна, то есть окна, создавшего окно MCI. Если родительского окна нет, в качестве этого параметра можно указать NULL

hInstance

Идентификатор приложения, полученных через параметры функции WinMain или LibMain (для DLL-библиотеки)

dwStyle

Стиль создаваемого окна. Можно указывать стили, стандартные для функции CreateWindow, а также дополнительные, список которых приведен ниже. Если стандратные стили не указаны (что допустимо), то если есть родительское окно, используются стили WS_CHILD, WS_BORDER, иWS_VISIBLE. Если же параметр hwndParent указан как NULL, используются стили WS_OVERLAPPEDWINDOW и WS_VISIBLE. Для создания невидимого окна следует использовать один из стандартных стилей, например, WS_CHILD

szFile

Указатель на текстовую строку, содержащую имя устройства (например, "cdaudio") или путь к файлу

Возвращаемое значение:

Идентификатор созданного окна при успешном завершении или NULL при ошибке

Привдем список дополнительных стилей, которые можно использовать при создании окна MCI.



Стиль Описание
MCIWNDF_NOAUTOSIZEWINDOW Размер окна не изменяется при изменении размера изображения
MCIWNDF_NOAUTOSIZEMOVIE При изменении размеров окна не следует выполнять масштабирование изображения для полного заполнения внутренней области окна
MCIWNDF_NOPLAYBAR Если задан этот стиль, не отображается полоса просмотра
MCIWNDF_NOMENU Не отображается кнопка для доступа к меню
MCIWNDF_RECORD Отображается кнопка записи, в меню добавляется строка "New"
MCIWNDF_NOERRORDLG При возникновении ошибки на экран не выводится диалогоая панель с описанием этой ошибки. Приложение может получить описание самой последней возникшей ошибки при помощи функции MCIWndGetError
MCIWNDF_NOTIFYMODE При изменении режима родительское окно получит извещающее сообщение MCIWNDM_NOTIFYMODE
MCIWNDF_NOTIFYPOS При изменении текущей позиции приложение получит извещающее сообщение MCIWNDM_NOTIFYPOS
MCIWNDF_NOTIFYMEDIA При замене носителя данных (например, звукового компакт-диска) приложение получит извещающее сообщение MCIWNDM_NOTIFYMEDIA
MCIWNDF_NOTIFYSIZE Родительское окно получит извещающее сообщение MCIWNDM_NOTIFYSIZE при изменении размера окна MCI
MCIWNDF_NOTIFYERROR При возникновении ошибки родительское окно получит сообщение MCIWNDM_NOTIFYERROR
MCIWNDF_NOTIFYALL Окно MCI будет извещать родительское окно в случае возникновения любых событий
MCIWNDF_SHOWNAME В заголовке окна будет отображаться имя устройства или путь к файлу
MCIWNDF_SHOWPOS В заголовке окна будет отображаться текущая позиция
MCIWNDF_SHOWMODE В заголовке окна будет отображаться текущий режим работы
MCIWNDF_SHOWALL Будут использованы все возможности окна MCI (то есть все органы управления, отображение информации в заголовке и т. д.)

Другой способ создания окна MCI заключается в регистрации класса окна MCIWND_WINDOW_CLASS функцией MCIWndRegisterClass , не имеющей парамеров, и создании на базе этого класса окна функцией CreateWindow . В случае успеха функция MCIWndRegisterClass возвращает значение FALSE.



Содержание раздела