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

Интервал:

Закладка:

Сделать

Увеличиваем размер второго разделителя панели управления, который имеет индекс 4 до 150 пикселов:

m_wndExtendedBar.SetButtonInfo(4, IDW_COMBO, TBBS_SEPARATOR, 150);

Определяем координаты прямоугольной области панели управления, занимаемой этим разделителем, и уменьшаем ее ширину на 6 пикселов с каждой стороны:

CRect rectComboBox;

m_wndExtendedBar.GetItemRect(4, &rectComboBox);

rectComboBox.left += 6;

rectComboBox.right -= 6;

Список combo-box раскрывается вниз. Отводим для него дополнительно 80 пикселов. Если не увеличить вертикальные размеры прямоугольной области, предназначенной для размещения списка combo-box, то вы не сможете его открыть. Для этого просто не хватит высоты панели управления:

rectComboBox.bottom = rectComboBox.top + 80;

Для создания списка combo-box вызываем метод Create для объекта m_combo_box. Он размещает список в прямоугольной области rectComboBox:

if (!m_wndExtendedBar.m_combo_box.Create(CBS_DROPDOWN | WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_AUTOHSCROLL | CBS_DISABLENOSCROLL, rectComboBox, &m_wndExtendedBar, IDW_COMBO)) {

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

TRACE0("Failed to create combo-box\n");

return FALSE;

}

Как и при создании текстового редактора, мы передали методу Create несколько стилей, определяющих режим работы и характеристики списка combo-box.

Так как список размещается в панели управления, то он является его дочерним окном. Поэтому мы указали для него стиль WS_CHILD. Вы можете опустить стиль WS_CHILD. В этом случае он будет установлен автоматически в процессе создания списка combo-box.

Стиль WS_VISIBLE устанавливается, чтобы список появился на экране сразу после создания. Если его не указать, список останется невидимым.

Стиль WS_VSCROLL добавляет к списку combo-box вертикальную полосу просмотра, если в списке слишком много строк. Мы также добавили стиль CBS_DISABLENOSCROLL, означающий что вертикальная полоса просмотра отображается, даже если все строки помещаются в списке. В этом случае, однако, полоса просмотра отображается серым цветом и не доступна для использования.

Внешний вид списка combo-box определяется стилем CBS_DROPDOWN, который означает, что список будет открываться в случае нажатия на кнопку картинка 73.

Мы также установили для списка стиль WS_TABSTOP, который позволяет использовать клавишу для передачи ему фокуса ввода. Напомним, что этот стиль также установлен для текстового редактора.

Сразу после создания списка combo-box мы записываем в него три строки: One, Two и Third. Вы увидите эти строки если откроете список combo-box в панели управления приложения.

Для добавления новых строк к списку нами используется метод AddString класса CComboBox:

m_wndExtendedBar.m_combo_box.AddString("One");

m_wndExtendedBar.m_combo_box.AddString("Two");

m_wndExtendedBar.m_combo_box.AddString("Third");

Когда стили всех кнопок панели управления выбраны, разрешаем присоединять ее к любой стороне родительского окна. Для этого вызываем метод EnableDocking, передав ему в качестве параметра значение CBRS_ALIGN_ANY:

m_wndExtendedBar.EnableDocking(CBRS_ALIGN_ANY);

Последним шагом в процессе создания панели управления Extended является вызов метода DockControlBar для окна приложения. Этот метод пристывковывает панель управления Extended к родительскому окну:

DockControlBar(&m_wndExtendedBar);

Команды панелей управления

Каждый раз когда пользователь нажимает на кнопки в панели управления или работает с дополнительными органами управления (текстовым редактором и списком combo-box), в окно приложения, являющееся родительским окном панели управления, поступают соответствующие сообщения.

Кнопки панели управления передают в родительское окно командные сообщения. Идентификатор этих командных сообщений соответствует идентификатору нажатой кнопки. В родительское окно панели управления также поступают сообщения от дополнительных органов управления – текстового редактора и списка combo-box. Коды извещения этих сообщений определяют их назначение.

Таблица сообщений класса CMultiBarWindow обрабатывает целый ряд сообщений от меню и панелей управления. Кроме них в таблице сообщений класса CMultiBarWindow располагается макрокоманда ON_WM_CREATE, которая вызывает метод OnCreate во время создания окна:

ON_WM_CREATE()

Для обработки командных сообщений от кнопок панелей Player и Style мы вызываем методы BarCommandOne и BarCommandRange, входящие в класс CMultiBarWindow.

Метод BarCommandOne отображает на экране сообщение о том, что данная команда не реализована - Command not implemented. Метод BarCommandRange не выполняет никаких действий:

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

ON_COMMAND(ID_STOP, BarCommandOne)

ON_COMMAND(ID_PLAY, BarCommandOne)

ON_COMMAND(ID_PAUSE, BarCommandOne)

ON_COMMAND_RANGE(ID_LEFT, ID_RIGHT, BarCommandRange)

ON_COMMAND_RANGE(ID_TYPE, ID_WAVE, BarCommandRange)

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

ON_COMMAND_RANGE(ID_UNDERLINE, ID_MARK_4, BarCommandRange)

Для перехвата командных сообщений от панели управления Player и Style используются макрокоманды ON_COMMAND и ON_COMMAND_RANGE. Макрокоманда ON_COMMAND вызывает метод, указанный во втором параметре командного сообщения, соответствующего идентификатору, приведенному в первом параметре. Макрокоманда ON_COMMAND_RANGE. работает аналогично ON_COMMAND, но позволяет вызвать метод обработчик, указанный в третьем параметре, сразу для нескольких командных сообщений. Идентификаторы обрабатываемых сообщений находятся в промежутке значений, указанных первым и вторым параметрами макрокоманды.

Для обработки командных сообщений от кнопок панели управления Extended мы также используем метод BarCommandRange. Исключение составляет только кнопка ID_ADD. Сообщения от этой кнопки обрабатываются методом AddStringToComboBox класса CMultiBarWindow:

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

ON_COMMAND(ID_ADD, AddStringToComboBox)

ON_COMMAND_RANGE(ID_FOTO, ID_DISK, BarCommandRange)

В таблице сообщений класса CMultiBarWindow также расположены макрокоманды для обработки командных сообщений от меню View. Для их обработки используется метод ShowStyle класса CMultiBarWindow:

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

ON_COMMAND_EX(ID_Style, ShowStyle)

ON_COMMAND_EX(ID_Extended, ShowStyle)

ON_COMMAND_EX(ID_Player, ShowStyle)

Командные сообщения от всех строк меню View обрабатываются одним методом ShowStyle, однако его вызов осуществляется с помощью макрокоманды ON_COMMAND_EX. Эта макрокоманда вызывает для обработки командного сообщения с идентификатором, заданным первым параметром, метод указанный во втором параметре. В отличие от макрокоманды ON_COMMAND, макрокоманда ON_COMMAND_EX передает методу-обработчику идентификатор полученного командного сообщения.

Метод ShowStyle использует этот идентификатор, чтобы определить какая строка меню была выбрана.

Методы BarCommandOne и BarCommandRange класса CMultiBarWindow

Методы BarCommandOne и BarCommandRange определены в классе главного окна приложения CMultiBarWindow и используются для обработки сообщений от кнопок панелей управления.

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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