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

Здесь есть возможность читать онлайн «Александр Фролов - Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 1996, Издательство: Диалог-МИФИ, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

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

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Книга посвящена программированию в среде Microsoft Visual C++ с использованием библиотеки классов MFC. В ней мы расскажем о разработке приложений с многооконным пользовательским интерфейсом, использовании классов MFC для создания меню, панелей управления и состояния. Рассмотрим возможности повторного использования программного кода, предоставляемые Microsoft Visual C++. Отдельную главу книги мы посвятили разработке приложений, взаимодействующих с базами данных через драйвера ODBC.
Книга предназначена для всех, кто интересуется программированием в среде операционных систем Windows 95 и Windows NT версий 3.51 и 4.0.

Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

CStateApp StateApp;

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

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

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

class CStateWindow : public CFrameWnd {

protected:

CStatusBar m_wndStatusBar; // Панель состояния

BOOL bIndicatorTEXT; // Флаг для управления

// индикатором

// ID_INDICATOR_TEXT

protected:

// Метод для создания окна приложения и панели состояния

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

public:

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

CStateWindow();

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

afx_msg BOOL OnMenuDirectADD_SUB(UINT nID);

afx_msg void OnMenuProcessBar();

afx_msg void OnMenuDisableADD_SUB();

afx_msg void OnMenuSwitchTEXT();

afx_msg void OnMenuExit();

// Метод для обработки команды ON_UPDATE_COMMAND_UI

// от индикатора ID_INDICATOR_TEXT

afx_msg void OnUpdateTEXT(CCmdUI* pCmdUI);

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

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

DECLARE_MESSAGE_MAP()

};

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

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

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

BEGIN_MESSAGE_MAP(CStateWindow, CFrameWnd)

// Макрокоманда вызывает метод OnCreate

ON_WM_CREATE()

// Обработчик сообщения ON_UPDATE_COMMAND_UI

ON_UPDATE_COMMAND_UI(ID_INDICATOR_TEXT, OnUpdateTEXT)

// Обработчики команд меню Work

ON_COMMAND(ID_WORK_PROCESS, OnMenuProcessBar)

ON_COMMAND(ID_WORK_DISABLE_ADDSUB, OnMenuDisableADD_SUB)

ON_COMMAND(ID_WORK_ON_SWITCH_TEXT, OnMenuSwitchTEXT)

ON_COMMAND_EX(ID_WORK_DIRECT_ADD, OnMenuDirectADD_SUB)

ON_COMMAND_EX(ID_WORK_DIRECT_SUB, OnMenuDirectADD_SUB)

ON_COMMAND(ID_WORK_EXIT, OnMenuExit)

END_MESSAGE_MAP()

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

// Индикаторы панели управления. Порядок идентификаторов

// соответствует порядку индикаторов в панели состояния

// (до тех пор, пока он не изменен методом SetPaneInfo)

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

static UINT indicators[] = {

ID_SEPARATOR, // Самый первый индикатор

ID_INDICATOR_OVR, // Индикатор OVR

ID_INDICATOR_PROGRESS, // Резервирование места для

// progress bar

ID_INDICATOR_CAPS, // Индикатор клавиши

ID_INDICATOR_NUM, // Индикатор клавиши

ID_INDICATOR_SCRL, // Индикатор клавиши

ID_INDICATOR_TEXT, // Индикатор TEXT/PIC

ID_INDICATOR_ADD, // Индикатор ADD/SUB (начальное

// состояние START)

};

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

// Метод InitInstance класса CStateApp

// Создает главное окно приложения и отображает его на экране

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

BOOL CStateApp::InitInstance() {

m_pMainWnd = new CStateWindow();

m_pMainWnd->ShowWindow(m_nCmdShow);

m_pMainWnd->UpdateWindow();

return TRUE;

}

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

// Конструктор класса CStateWindow

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

CStateWindow::CStateWindow() {

// Создаем окно приложения, соответствующее

// данному объекту класса CStateWindow

Create(NULL, "Status Bar Sample", WS_OVERLAPPEDWINDOW, rectDefault, NULL, MAKEINTRESOURCE(IDR_MENU));

// Устанавливаем значение флага bIndicatorTEXT

bIndicatorTEXT = TRUE;

}

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

// Метод OnMenuProcessBar класса CStateWindow

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

void CStateWindow::OnMenuProcessBar() {

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

RECT rectProgress;

m_wndStatusBar.GetItemRect(m_wndStatusBar.CommandToIndex(ID_INDICATOR_PROGRESS), &rectProgress);

// Создаем полосу progress bar. Размещаем ее

// на месте индикатора ID_INDICATOR_PROGRESS

CProgressCtrl ctrlProgressBar;

if (!ctrlProgressBar.Create(WS_CHILD | WS_VISIBLE, rectProgress, &m_wndStatusBar, 1)) {

// Ошибка при создании progress bar

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

return;

}

// Устанавливаем границы для progress bar

ctrlProgressBar.SetRange(0, 100);

// Устанавливаем шаг приращения для progress bar

ctrlProgressBar.SetStep(1);

// Плавно увеличиваем положение progress bar

for (int i=0; i<100; i++) {

// Выполняем короткую задержку

Sleep(10);

// Выполняем шаг приращения progress bar

ctrlProgressBar.StepIt();

}

// По завершении, отображаем текст в самом первом

// индикаторе панели состояния

m_wndStatusBar.SetWindowText("Process completed");

}

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

// Метод OnMenuDirectADD_SUB класса CStateWindow

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

BOOL CStateWindow::OnMenuDirectADD_SUB(UINT nID) {

// Определяем индекс индикатора ID_INDICATOR_ADD

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Представляем Вашему вниманию похожие книги на «Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

Обсуждение, отзывы о книге «Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x