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

Тут можно читать онлайн Александр Фролов - Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Диалог-МИФИ, год 1996. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2
  • Автор:
  • Жанр:
  • Издательство:
    Диалог-МИФИ
  • Год:
    1996
  • Город:
    Москва
  • ISBN:
    нет данных
  • Рейтинг:
    3.89/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 - описание и краткое содержание, автор Александр Фролов, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга посвящена программированию в среде 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 - читать книгу онлайн бесплатно, автор Александр Фролов
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

// Вызываем метод OnCreate базового класса

if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1;

// Создаем панель состояния

if (!m_wndStatusBar.Create(this)) {

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

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

return -1;

}

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

if (!m_wndStatusBar.SetIndicators(&indicator, 1)) {

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

TRACE0("Failed to set indicators\n");

return -1;

}

return 0;

}

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

// Метод OnDisable класса CMultiMenuWindow

// Изменяем состояние флагов bEnable и nCheck

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

void CMultiMenuWindow::OnDisable(){

// Меняем значение bEnable с TRUE на FALSE и наоборот

bEnable = !bEnable;

// Меняем значение bEnable с 1 на 0 и наоборот

nCheck = (nCheck == 1) ? 0 : 1;

}

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

// Метод OnRestrictMenu класса CMultiMenuWindow

// Изменяем меню приложения с IDR_FULL_MENU на

// IDR_RESTRICT_MENU

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

void CMultiMenuWindow::OnRestrictMenu(){

CMenu menuOld; // текущее меню

CMenu menuRestrict; // новое меню

CMenu* pMenu;

// Получаем указатель на текущее меню

pMenu = this->GetMenu();

// Связываем меню с объектом menuOld

menuOld.Attach(pMenu->m_hMenu);

// Удаляем меню

menuOld.DestroyMenu();

// Загружаем меню IDR_RESTRICT_MENU

menuRestrict.LoadMenu(IDR_RESTRICT_MENU);

// Устанавливаем загруженное меню

SetMenu(&menuRestrict);

// Разрываем связь меню с объектом menuRestrict

menuRestrict.Detach();

}

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

// Метод OnFullMenu класса CMultiMenuWindow

// Изменяем меню приложения с IDR_RESTRICT_MENU на

// IDR_FULL_MENU

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

void CMultiMenuWindow::OnFullMenu() {

CMenu menuOld;

CMenu menuRestrict;

CMenu* pMenu;

pMenu = this->GetMenu();

menuOld.Attach(pMenu->m_hMenu);

menuOld.DestroyMenu();

menuRestrict.LoadMenu(IDR_FULL_MENU);

SetMenu(&menuRestrict);

menuRestrict.Detach();

}

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

// Метод OnCommand класса CMultiMenuWindow

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

void CMultiMenuWindow::OnCommand() {

MessageBox("Command not implemented");

}

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

// Метод OnConstruct класса CMultiMenuWindow

// Изменяем состояние флага bRadio

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

void CMultiMenuWindow::OnConstruct() {

// Меняем значение bRadio с TRUE на FALSE и наоборот

bRadio = !bRadio;

}

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

// Метод OnExit класса CMultiMenuWindow

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

void CMultiMenuWindow::OnExit() {

// Завершаем приложение

DestroyWindow();

return;

}

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

// Метод OnUpdateProcess класса CMultiMenuWindow

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

void CMultiMenuWindow::OnUpdateProcess(CCmdUI* pCmdUI) {

// Блокируем или разблокируем строку Process меню Mission

pCmdUI->Enable(bEnable);

}

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

// Метод OnUpdateConstruct класса CMultiMenuWindow

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

void CMultiMenuWindow::OnUpdateConstruct(CCmdUI* pCmdUI) {

// Устанавливаем или снимаем пометку

// строки Construction меню Mission

pCmdUI->SetRadio(bRadio);

}

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

// Метод OnUpdateDisable класса CMultiMenuWindow

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

void CMultiMenuWindow::OnUpdateDisable(CCmdUI* pCmdUI) {

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

// у строки Disable меню Menu

pCmdUI->SetCheck(nCheck);

}

Создайте новый файл ресурсов и включите его в проект под именем MultiMenu.rc. Включите в него два меню, присвоив им идентификаторы IDR_RESTRICT_MENU и IDR_FULL_MENU.

Введите строки этих меню в соответствии с представленным нами файлом ресурсов (листинг 3.2). Для всех строк меню введите их описания. Они будут записаны в файл ресурсов как строковые ресурсы, имеющие одинаковые идентификаторы со строками меню.

Добавьте в файл ресурсов строку Ready, выбрав для нее идентификатор AFX_IDS_IDLEMESSAGE. Эта строка будет отображаться в панели состояния во время “бездействия” приложения.

Включите в файл ресурсов таблицу акселераторов, состоящую из трех команд: ID_MENU_DISABLE, ID_MISSION_PROCESS и ID_FILE_EXIT. Присвойте им комбинации клавиш , и соответственно.

Листинг 3.2. Файл MultiMenu.rc

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

// Приложение MultiMenu

// (c) Frolov G.V., 1996

// E-mail: frolov@glas.apc.org

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

// Включаемые файлы для MFC

#include

#include

#include

// Включаемый файл для ресурсов приложения и идентификаторов

#include "resource.h"

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

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

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

class CMultiMenuApp : public CWinApp {

public:

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

// предназначенный для инициализации приложения

virtual BOOL InitInstance();

};

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

CMultiMenuApp MultiMenuApp;

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

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

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

class CMultiMenuWindow : public CFrameWnd {

protected:

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

CStatusBar m_wndStatusBar;

// Флаг управляет строкой Prosess меню Mission

BOOL bEnable;

// Флаг управляет строкой Construction меню Mission

BOOL bRadio;

// Флаг управляет строкой Restrict меню Menu

int nCheck;

protected:

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

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

// Методы для обработки командных сообщений

// от меню приложения

afx_msg void CMultiMenuWindow::OnDisable();

afx_msg void CMultiMenuWindow::OnCommand();

afx_msg void CMultiMenuWindow::OnExit();

afx_msg void CMultiMenuWindow::OnConstruct();

afx_msg void CMultiMenuWindow::OnRestrictMenu();

afx_msg void CMultiMenuWindow::OnFullMenu();

// Методы для обновления меню

afx_msg void OnUpdateProcess(CCmdUI* pCmdUI);

afx_msg void OnUpdateConstruct(CCmdUI* pCmdUI);

afx_msg void OnUpdateDisable(CCmdUI* pCmdUI);

public:

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

CMultiMenuWindow();

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

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

DECLARE_MESSAGE_MAP()

};

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

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

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

BEGIN_MESSAGE_MAP(CMultiMenuWindow, CFrameWnd)

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

Интервал:

Закладка:

Сделать


Александр Фролов читать все книги автора по порядку

Александр Фролов - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2, автор: Александр Фролов. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x