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


              

Метод OnCreate класса CMultiBarWindow


Метод OnCreate класса CMultiBarWindow сначала вызывает метод OnCreate базового класса CFrameWnd.

Чтобы разрешить перемещение панелей управления, вызываем метод EnableDocking для главного окна приложения.  Чтобы разрешить присоединение панелей управления ко всем сторонам окна, передаем методу EnableDocking значение CBRS_ALIGN_ANY:

// Разрешаем присоединение панелей управления ко

// всем сторонам окна CMultiBarWindow

EnableDocking(CBRS_ALIGN_ANY);

¨     Создание панели управления Player

Затем мы приступаем к созданию трех панелей управления. Сначала создается панель управления Player. В ней расположен ряд кнопок, три из которых объединены в переключатель с зависимой фиксацией и еще одна кнопка является переключателем.

Чтобы создать панель управления Player, вызывается метод Create объекта m_wndPlayerBar. Ему передаются набор флагов, определяющий характеристики панели управления. Флаг CBRS_SIZE_DYNAMIC определяет, что пользователь сможет менять форму панели управления Player. Флаг CBRS_BOTTOM задает начальное положение панели - вверху окна приложения. Флаг CBRS_TOOLTIPS разрешает отображение кратких подсказок для тех кнопок панели управления, которые имеют соответствующие строковые ресурсы:

if (!m_wndPlayerBar.Create(this, WS_CHILD | WS_VISIBLE |

   CBRS_SIZE_DYNAMIC | CBRS_BOTTOM  |

   CBRS_TOOLTIPS, ID_Player))

{

   // Ошибка при создании панели управления

   TRACE0("Failed to create toolbar\n");

   return -1;

}

После создания панели управления загружаем ресурс IDR_PLAYER, описывающий кнопки панели управления:

if (!m_wndPlayerBar.LoadToolBar(IDR_PLAYER))

{

   // Ошибка при загрузке ресурса панели управления

   TRACE0("Failed to load toolbar\n");

   return -1;

}

Когда панель управления отображается в мини-окне, она имеет заголовок. Чтобы установить текст в этих заголовках, вызываем метод SetWindowText:

m_wndPlayerBar.SetWindowText("Player");     

Теперь мы указываем, что кнопки панели управления с идентификаторами ID_TYPE, ID_CD_DRV и ID_WAVE составляют трехпозиционный переключатель с зависимой фиксацией. Для этого мы последовательно определяем стиль каждой из этих кнопок и добавляем к ним стиль TBBS_CHECKGROUP:



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