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




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


Метод OnCreate класса CMainFrame создает и отображает на экране панели управления и состояния:

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

   if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)

      return -1;

  

   if (!m_wndToolBar.Create(this)

      !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))

   {

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

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

      return -1;   

   }

   if (!m_wndStatusBar.Create(this)

      !m_wndStatusBar.SetIndicators(indicators,

        sizeof(indicators)/sizeof(UINT)))

   {

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

      TRACE0("Failed to create status bar\n");

      return -1;     

   }

   m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |

      CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);

   m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);

   EnableDocking(CBRS_ALIGN_ANY);

   DockControlBar(&m_wndToolBar);

   return 0;

}

Структура indicators, описывающая индикаторы панели состояния, определена в файле MainFrm.h следующим образом:

static UINT indicators[] =

{

   ID_SEPARATOR,

   ID_INDICATOR_CAPS,

   ID_INDICATOR_NUM,

   ID_INDICATOR_SCRL,

};

Сейчас мы не станем подробно останавливаться на процедуре создания панелей состояния и управления. Во первых, в 24 томе мы уже рассматривали метод OnCreate однооконного приложения Single. Он фактически полностью повторяет метод OnCreate приложения Multi. Во вторых мы посвятили проблеме использования меню, панелей состояния и панелей управления отдельный раздел “Меню, панели управления и панели состояния”. Прочитав его, вы полностью поймете как устроен метод OnCreate класса CMainFrame.




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