Александр Фролов - 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», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

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

Интервал:

Закладка:

Сделать

CDaterSet(CDatabase* pDatabase = NULL);

DECLARE_DYNAMIC(CDaterSet)

// Field/Param Data

//{{AFX_FIELD(CDaterSet, CRecordset)

CString m_NAME;

CString m_ADDRESS;

long m_PRIORITY;

CString m_PHONE;

//}}AFX_FIELD

// Overrides

//{{AFX_VIRTUAL(CDaterSet)

public:

virtual CString GetDefaultConnect();

virtual CString GetDefaultSQL();

virtual void DoFieldExchange(CFieldExchange* pFX);

//}}AFX_VIRTUAL

// Implementation

#ifdef _DEBUG

virtual void AssertValid() const;

virtual void Dump(CDumpContext& dc) const;

#endif

};

Класс CDaterSet содержит в себе переменные, представляющие поля записи базы данных. Эти переменные размещаются внутри комментариев вида //{{AFX_FIELD.

В нашем случае эти переменные называются m_NAME, m_ADDRESS, m_PRIORITY и m_PHONE. Они представляют поля NAME, ADDRESS, PRIORITY и PHONE соответственно.

В классе CDaterSet также определены конструктор класса и несколько методов – GetDefaultConnect, GetDefaultSQL, DoFieldExchange, а также AssertValid и Dump.

Конструктор класса CDaterSet

Конструктор класса CDaterSet вызывает конструктор базового класса CRecordset. В качестве параметра конструктору CDaterSet и конструктору базового класса передается указатель pdb на объект класса CDatabase, представляющий источник данных.

В приложении Dater конструктору CDaterSet параметр pdb не передается (см. класс CDaterDoc). Посмотрите описание конструктора класса CRecordset в документации Microsoft Visual C++. Если он вызывается без параметра или с параметром NULL, то конструктор автоматически создает объект класса CDatabase. С Этим объектом связывается источник данных, определенный в методе GetDefaultConnect:

CDaterSet::CDaterSet(CDatabase* pdb) : CRecordset(pdb) {

DECLARE_DYNAMIC(CDaterSet)

// Field/Param Data

//{{AFX_FIELD(CDaterSet, CRecordset)

CString m_NAME;

CString m_ADDRESS;

long m_PRIORITY;

CString m_PHONE;

//}}AFX_FIELD

// Overrides

//{{AFX_VIRTUAL(CDaterSet)

public:

virtual CString GetDefaultConnect();

virtual CString GetDefaultSQL();

virtual void DoFieldExchange(CFieldExchange* pFX);

//}}AFX_VIRTUAL

// Implementation

#ifdef _DEBUG

virtual void AssertValid() const;

virtual void Dump(CDumpContext& dc) const;

#endif

};

Класс CDaterSet содержит в себе переменные, представляющие поля записи базы данных. Эти переменные размещаются внутри комментариев вида //{{AFX_FIELD.

В нашем случае эти переменные называются m_NAME, m_ADDRESS, m_PRIORITY и m_PHONE. Они представляют поля NAME, ADDRESS, PRIORITY и PHONE соответственно.

Метод GetDefaultConnect класса CDaterSet

Метод GetDefaultConnect возвращает текстовую строку, которая определяет источник данных, который будет связан с объектом CDaterSet. Эта строка формируется MFC AppWizard, при выборе вами источника данных:

CString CDaterSet::GetDefaultConnect() {

return _T("ODBC;DSN=Address Pad");

}

Метод GetDefaultSQL класса CDaterSet

Метод GetDefaultSQL возвращает текстовую строку, которая должна содержать имя таблицы источника данных или выражение SELECT языка SQL. На основе этой таблицы или результата запроса SELECT будет сформирован набор записей для объекта CDaterSet:

CString CDaterSet::GetDefaultSQL() {

return _T("[TextBase.txt]");

}

Метод DoFieldExchange класса CDaterSet

Метод DoFieldExchange выполняет обмен данными между элементами класса CDaterSet, представляющими поля набора записей, и источником данных:

void CDaterSet::DoFieldExchange(CFieldExchange* pFX) {

//{{AFX_FIELD_MAP(CDaterSet)

pFX->SetFieldType(CFieldExchange::outputColumn);

RFX_Text(pFX, _T("[NAME]"), m_NAME);

RFX_Text(pFX, _T("[ADDRESS]"), m_ADDRESS);

RFX_Long(pFX, _T("[PRIORITY]"), m_PRIORITY);

RFX_Text(pFX, _T("[PHONE]"), m_PHONE);

//}}AFX_FIELD_MAP

}

Метод DoFieldExchange содержит блок из комментариев //{{AFX_FIELD_MAP, в котором расположены несколько методов RFX_Text, которые выполняют обмен данными между полями источника данных (в нашем случае это поля NAME, ADDRESS, PRIORITY, PHONE) и соответствующими элементами класса CDaterSet (m_NAME, m_ADDRESS, m_PRIORITY, m_PHONE).

Вы не должны вручную исправлять программный код в блоке AFX_FIELD_MAP. Для этого надо использовать MFC ClassWizard (рис. 5.17).

Рис 517 Диалоговая панель MFC ClassWizard Методы AssertValid и Dump класса - фото 108

Рис. 5.17. Диалоговая панель MFC ClassWizard

Методы AssertValid и Dump класса CDaterSet

Методы AssertValid и Dump класса CDaterSet могут использоваться при отладке приложения.

Ресурсы приложения Dater

В файле ресурсов приложения Dater определены меню, панель управления и таблица клавиш акселераторов IDR_MAINFRAME, шаблон диалоговой панели IDD_DATER_FORM, который используется окном просмотра и шаблон информационной панели IDD_ABOUTBOX. В файле ресурсов также расположены строковые ресурсы, описывающие строки меню, кнопки панелей управления и индикаторы панели состояния. Мы привели исходный текст файла Dater.rc в листинге 5.3.

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

Интервал:

Закладка:

Сделать

Похожие книги на «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