Александр Фролов - Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2
- Название:Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2
- Автор:
- Жанр:
- Издательство:Диалог-МИФИ
- Год:1996
- Город:Москва
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Александр Фролов - 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 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
//////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
//////////////////////////////////////////////////////////////
//
// Russian resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
#ifdef _WIN32
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
#pragma code_page(1251)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
//////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
//////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_DIALOG_BAR DIALOG DISCARDABLE 0, 0, 227, 50
STYLE WS_CHILD
FONT 8, "MS Sans Serif"
BEGIN
CONTROL "Left", IDC_RADIO_LEFT, "Button", BS_AUTORADIOBUTTON, 95, 10, 40, 10
CONTROL "Center", IDC_RADIO_CENTER, "Button", BS_AUTORADIOBUTTON, 95, 19, 45, 11
CONTROL "Right", IDC_RADIO_RIGHT, "Button", BS_AUTORADIOBUTTON, 95, 30, 40, 9
GROUPBOX "Aligns", IDC_STATIC, 85, 0, 80, 45
PUSHBUTTON "Set", IDC_BUTTON_SET, 175, 5, 45, 15
PUSHBUTTON "Clear", IDC_BUTTON_CLEAR, 175, 30, 45, 15
COMBOBOX IDC_COMBO_COLOUR, 5, 5, 70, 50, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
END
//////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
IDD_DIALOG_BAR, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 220
TOPMARGIN, 7
BOTTOMMARGIN, 43
END
END
#endif // APSTUDIO_INVOKED
//////////////////////////////////////////////////////////////
//
// Dialog Info
//
IDD_DIALOG_BAR DLGINIT
BEGIN
IDC_COMBO_COLOUR, 0x403, 4, 0, 0x6552, 0x0064,
IDC_COMBO_COLOUR, 0x403, 5, 0, 0x6c42, 0x6575, "\000"
IDC_COMBO_COLOUR, 0x403, 6, 0, 0x7247, 0x6565, 0x006e,
IDC_COMBO_COLOUR, 0x403, 7, 0, 0x6559, 0x6c6c, 0x776f, "\000"
IDC_COMBO_COLOUR, 0x403, 6, 0, 0x6c42, 0x6361, 0x006b,
IDC_COMBO_COLOUR, 0x403, 6, 0, 0x6857, 0x7469, 0x0065,
0
END
//////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE DISCARDABLE
BEGIN
IDC_RADIO_LEFT "Left radio box"
IDC_RADIO_CENTER "Center radio box"
IDC_RADIO_RIGHT "Right radio box"
IDC_BUTTON_SET "Set button pressed"
END
STRINGTABLE DISCARDABLE
BEGIN
IDC_BUTTON_CLEAR "Clear button pressed"
END
#endif // Russian resources
//////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
//////////////////////////////////////////////////////////////
// Generated from the TEXTINCLUDE 3 resource.
//
//////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
Идентификаторы ресурсов приложения DialogBar и идентификаторы органов управления диалоговой панели IDD_DIALOG_BAR определены в файле resource.h. Этот файл создается автоматически редактором ресурсов Microsoft Visual C++. Исходный текст файла представлен в листинге 3.12.
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by DialogBar.rc
//
#define IDD_DIALOG_BAR 101
#define IDC_RADIO_LEFT 1004
#define IDC_RADIO_CENTER 1005
#define IDC_RADIO_RIGHT 1006
#define IDC_BUTTON_SET 1007
#define IDC_BUTTON_CLEAR 1008
#define IDC_COMBO_COLOUR 1012
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 104
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1014
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
Постройте приложение DialogBar и запустите его. На экране появится главное окно приложения, в верхней части которого отображается диалоговая панель управления (рис. 3.19).

Рис. 3.19. Приложение DialogBar
Поработайте с приложением DialogBar. Если вы будете нажимать на кнопки диалоговой панели управления, изменять положение переключателя или выбирать новые строки из списка combo-box, то на экране будут появляться короткие сообщения, описывающие выбранный орган управления.
В приложении DialogBar определены всего только два класса – это главный класс приложения CDlgBarApp и класс главного окна приложения CDlgBarWindow. Как и во многих других приложениях, посвященных использованию панелей управления, главное окно приложения по сути является его единственным окном. Однако мы сохранили за ним это почетное название, чтобы внести однообразие в описание приложений, созданных с использованием MFC AppWizard и без него.
Главный класс приложения CDlgBarApp наследуется от базового класса CWinApp. Объект DlgBarApp класса CDlgBarApp объявлен как глобальный и создается сразу после запуска приложения.
В класс CDlgBarApp входит только метод InitInstance. Он создает главное окно приложения, представленное классом CDlgBarWindow, наследованным от класса CFrameWnd. Мы не станем подробно рассматривать этот метод, так как он фактически идентичен одноименному методу приложений Bar и MultiBar, представленных выше.
Класс CDlgBarWindow управляет главным окном приложения, создает диалоговую панель управления, а также обрабатывает сообщения, поступающие от диалоговой панели управления:
class CDlgBarWindow : public CFrameWnd {
// Определяем панель управления
protected:
// Панель управления на основе класса CDialogBar
CDialogBar m_wndDialogBar;
protected:
// Метод OnCreate используется для создания диалоговой
// панели управления
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
public:
// Объявляем конструктор класса CDlgBarWindow
CDlgBarWindow();
// Объявляем методы для обработки команд от диалоговой
// панелей управления
afx_msg BOOL DlgBarCommand(UINT nID);
afx_msg void DlgBarCombo();
// Макрокоманда необходима, так как класс
// CDlgBarWindow обрабатывает сообщения
DECLARE_MESSAGE_MAP()
};
Кроме ряда методов, в класс CDlgBarWindow входит элемент m_wndDialogBar класса CDialogBar. Этот элемент представляет диалоговую панель управления, которая будет отображаться в главном окне приложения.
Рассмотрим отдельные методы класса CDlgBarWindow более подробно.
Сейчас для нас наиболее важен метод OnCreate, который собственно, и создает диалоговую панель управления приложения DialogBar. В таблице сообщений класса CDlgBarWindow, находится макрокоманда ON_WM_CREATE. Поэтому в процессе создания главного окна приложения вызывается метод OnCreate.
Конструктор класса CDlgBarWindow используется для создания главного окна приложения. Мы рассказывали о процедуре создания главного окна приложения в томе 24 серии “Библиотека системного программиста”, посвященном библиотеке MFC, поэтому сейчас не будем на нем останавливаться более подробно.
Читать дальшеИнтервал:
Закладка: