Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT | страница 28
Еще один важный класс, наследуемый от CCmdTarget, называется CDocTemplate. От этого класса наследуются два класса CSingleDocTemplate и CMultiDocTemplate. Все эти классы предназначены для синхронизации и управления основными объектами представляющими приложение – окнами, документами и используемыми ими ресурсами.
Практически все приложения имеют пользовательский интерфейс, построенный на основе окон. Это может быть диалоговая панель, одно окно или несколько окон, связанных вместе. Основные свойства окон представлены классом CWnd , наследованным от класса CCmdTarget.
Вы очень редко будете создавать объекты класса CWnd. Класс CWnd сам является базовым классом для большого количества классов, представляющих разнообразные окна. На рисунке 2.3 представлена только небольшая часть дерева наследования класса CWnd.
Рис. 2.3. Класс CWnd
Перечислим классы, наследованные от базового класса CWnd.
• Обрамляющие окна (класс CFrameWnd)
Класс CFrameWnd представляет окна, выступающие в роли обрамляющих окон (frame window), в том числе главные окна приложения. От этого класса также наследуются классы CMDIChildWnd и CMDIFrameWnd, используемые для отображения окон многооконного интерфейса MDI. Класс CMDIFrameWnd представляет главное окно приложения MDI, а класс CMDIChildWnd – его дочерние окна MDI. Класс CMiniFrameWnd применяется для отображения окон уменьшенного размера. Такие окна обычно используются для отображения в них панели управления.
• Окна органов управления
В предыдущих томах серии “Библиотека системного программиста” мы рассказывали о том, что существует ряд органов управления, встроенных в операционную систему. К ним относятся кнопки, полосы прокрутки, редакторы текста, переключатели и т. д.
Для работы с этими органами управления в библиотеке MFC предусмотрены специальные классы, наследованные непосредственно от класса CWnd.
Класс | Орган управления |
---|---|
CAnimateCtrl | Используется для отображения видеоинформации |
CBitmapButton | Кнопка с рисунком |
CButton | Кнопка |
CComboBox | Список с окном редактирования |
CEdit | Поле редактирования |
CHeaderCtrl | Заголовок для таблицы |
CHotKeyCtrl | Предназначен для ввода комбинации клавиш акселераторов |
CListBox | Список |
CListCrtl | Может использоваться для отображения списка пиктограмм |
CProgressCtrl | Линейный индикатор |
CPropertySheet | Блокнот. Может состоять из нескольких страниц |
CRichEditCtrl | Окно редактирования, в котором можно редактировать форматированный текст |