Microsoft Visual C++ и MFC. Программирование для Win95 и WinNT



Метод Create класса CSplashWnd


В классе CSplashWnd компонент Splash Screen переопределяет виртуальный метод Create базового класса CWnd:

BOOL CSplashWnd::Create(CWnd* pParentWnd /*= NULL*/)

{

/// ..

}

Класс CSplashWnd добаляет к этому методу программный код, который загружает ресурс изображения IDB_SPLASH. Для этого используется метод LoadBitmap:

if (!m_bitmap.LoadBitmap(IDB_SPLASH))

   return FALSE;

При помощи метода GetBitmap для объекта, представляющего изображения bitmap, определяются различные характеристики этого изображения, которые записываются в объект bm структуры BITMAP:

BITMAP bm;

m_bitmap.GetBitmap(&bm);

Последний оператор, завершающий метод Create, вызывает метод CreateEx, который и создает окно заставки:

return CreateEx(

   0,

   AfxRegisterWndClass(

      0,

      AfxGetApp()->LoadStandardCursor(IDC_ARROW)),

   NULL,

   WS_POPUP | WS_VISIBLE,

   0, 0, bm.bmWidth, bm.bmHeight,

   pParentWnd->GetSafeHwnd(), NULL

);

Метод CreateEx определен в классе CWnd. Первый параметр метода задает дополнительные стили создаваемого окна заставки. Этот параметр содержит нулевое значение. Описание дополнительных стилей вы можете найти в документации Microsoft Visual C++.

Второй параметр метода CreateEx должен содержать имя класса Windows, на основе которого создается окно. Для этого параметра используется класс, зарегистрированный функцией AfxRegisterWndClass.

Третий параметр метода CreateEx определяет текст заголовка создаваемого окна. Так как для окна заставки заголовок не нужен, то в качестве этого параметра передается значение NULL.

В четвертом параметре должны быть указаны основные стили создаваемого окна. Мы используем в качестве этого параметра комбинацию флагов WS_POPUP и WS_VISIBLE. Эти флаги означают, что создается временное окно, которое сразу отображается на экране. Дополнительную информацию об основных и дополнительных стилях окон вы можете получить из 11 тома “Библиотеки системного программиста”.

Пятый, шестой, седьмой и восьмой параметры метода CreateEx определяют начальное положение, а также ширину и высоту окна. Начальное положение окна заставки выбирается по умолчанию - пятый и шестой параметры содержат нулевые значения, а ширина и высота берутся исходя из размеров изображения bitmap.




Содержание  Назад  Вперед