Чтение онлайн

ЖАНРЫ

Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2

Фролов Григорий Вячеславович

Шрифт:

// Класс CMultiBarApp - главный класс приложения

//============================================================

class CMultiBarApp : public CWinApp {

public:

 // Мы будем переопределять метод InitInstance

 virtual BOOL InitInstance;

};

// Создаем объект приложение класса CMultiBarApp

CMultiBarApp MultiBarApp;

//============================================================

//
Класс CExtendedBar - класс панели управления Extended

//============================================================

class CExtendedBar : public CToolBar {

public:

 // Дополнительные органы управления панели Extended

 CEdit m_edit; // текстовый редактор

 CComboBox m_combo_box; // список с текстовым редактором

};

//============================================================

// Класс CMultiBarWindow - представляет главное окно

//============================================================

class CMultiBarWindow : public CFrameWnd {

// Определяем панели управления

protected:

 // Панель управления Player

 CToolBar m_wndPlayerBar;

 // Панель управления Style

 CToolBar m_wndStyleBar;

 // Панель управления Extended

 CExtendedBar m_wndExtendedBar;

protected:

 // Метод OnCreate используется для создания

 // панелей управления

 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

public:

 // Объявляем конструктор класса CMultiBarWindow

 CMultiBarWindow;

 // Объявляем методы для обработки команд от панелей

 // управления

 afx_msg void BarCommandOne;

 afx_msg void BarCommandRange(UINT nID);

 afx_msg void AddStringToComboBox;

 // Объявляем метод для обработки команд от меню View

 afx_msg BOOL ShowStyle(UINT nID);

 // Макрокоманда необходима, так как класс

 // CMultiBarWindow обрабатывает сообщения

 DECLARE_MESSAGE_MAP

};

//============================================================

// Метод BarCommandRange

// Обрабатывает команды от панели управления

//============================================================

void CMultiBarWindow::BarCommandRange(UINT nID) {

 //
Обработчик не выполняет никакой работы

}

//============================================================

// Метод BarCommand

// Обрабатывает команды от кнопок панелей управления

//============================================================

void CMultiBarWindow::BarCommandOne {

 // Отображаем сообщение о том, что команда не реализована

 MessageBox("Command not implemented");

}

//============================================================

// Метод AddStringToComboBox

// Обрабатывает команду от кнопки Add панели

// управления Extended

//============================================================

void CMultiBarWindow::AddStringToComboBox {

 // Получаем строку, введенную в текстовом редакторе m_edit

 char tmpStr[39];

 m_wndExtendedBar.m_edit.GetLine(0, tmpStr,40);

 // Добавляем новую строку к списку m_combo_box

 m_wndExtendedBar.m_combo_box.AddString(tmpStr);

}

//============================================================

// Метод ShowStyle

// Обрабатывает команды от меню View

//============================================================

BOOL CMultiBarWindow::ShowStyle(UINT nID) {

 // Определяем указатель на панель управления,

 // соответствующую идентификатору nID

 CControlBar* pBar = GetControlBar(nID);

 // Определяем, отображается в данный момент панель

 // управления на экране или нет

 BOOL bShow = ((pBar->GetStyle & WS_VISIBLE) != 0);

 // Изменяем состояние панели управления: если панель

 // управления отображается на экране, удаляем ее с экрана,

 // если нет - отображаем

 ShowControlBar(pBar, !bShow, FALSE);

 return TRUE;

}

//============================================================

// Таблица сообщений класса CMultiBarWindow

//============================================================

BEGIN_MESSAGE_MAP(CMultiBarWindow, CFrameWnd)

Поделиться с друзьями: