Создание аниматора (пример)

Нижеследующая функция создает аниматор в диалоговом окне. Аниматор устанавливается ниже заданного органа управления, а размеры элемента управления мультипликации основываются на размерах кадра клипа AVI.

Демонстрационный пример

// Функция CreateAnimationCtrl - создает аниматор, позиционирует его ниже
// заданного элемента управления в диалоговом окне и открывает клип AVI в
// нем.
// Возвращает дескриптор аниматора.
// hwndDlg - дескриптор диалогового окна.
// nIDCtl - идентификатор органа управления, ниже которого должен быть
// расположен аниматор.
// Константы:
// IDC_ANIMATE - идентификатор аниматора
// CX_FRAME, CY_FRAME - ширина и высота кадра в клипе AVI
HWND CreateAnimationCtrl(HWND hwndDlg, int nIDCtl)
{
HWND hwndAnim = NULL;
RECT rc;
POINT pt;
// Создаем аниматор.
hwndAnim = Animate_Create(hwndDlg, IDC_ANIMATE,
WS_BORDER | WS_CHILD, g_hinst);
// Получаем экранные координаты заданной кнопки управления.
GetWindowRect(GetDlgItem(hwndDlg, nIDCtl), &rc);
// Преобразуем координаты нижнего левого угла в рабочие координаты.
pt.x = rc.left;
pt.y = rc.bottom;
ScreenToClient(hwndDlg, &pt);
// Располагаем аниматор ниже кнопки Стоп (Stop).
SetWindowPos(hwndAnim, 0, pt.x, pt.y + 20,
CX_FRAME, CY_FRAME,
SWP_NOZORDER | SWP_DRAWFRAME);
// Открываем клип AVI и показываем аниматор.
Animate_Open(hwndAnim, "SEARCH.AVI");
ShowWindow(hwndAnim, SW_SHOW);
return hwndAnim;
}

Назад в оглавление
На главную страницу

Hosted by uCoz