CSplitterWnd

Класс CSplitterWnd обеспечивает функции окна разделителя, который представляет окно, содержащее несколько панелей. Панель обычно объект приложения, производный от CView, но оно может быть любым объектом CWnd , имеющий соответствующий ребенок window ID.

Объект CSplitterWnd обычно встраивается в родительский объект CFrameWnd или CMDIChildWnd . Создайте объект CSplitterWnd , используя следующие шаги:

  1. Внедрить CSplitterWnd переменной-члена в родительском фрейме.

  2. Переопределить функцию-член CFrameWnd::OnCreateClient родительского фрейма.

  3. От внутри переопределенного OnCreateClient, вызовите функцию-член Create или CreateStatic CSplitterWnd.

Вызовите функцию-член Create для создания динамического разделитель окна. Динамический разделителя окно обычно используется для создания и выделите ряд отдельных областей или представлений одного документа. Рамки автоматически создает первоначальный панель для разделителя; затем создает, изменяет и удаляет дополнительные области как пользователь управляет окно-разделитель элементов управления.

При вызове Create, указывается минимальный строки высоту и ширину столбца, определяющие, когда панели являются слишком малы, чтобы полностью отобразить. После того, как вы называете Create, можно настроить эти минимумы путем вызова функции SetColumnInfo и SetRowInfo -членов.

Также используйте функции-члены SetColumnInfo и SetRowInfo для задания "идеального" ширина столбца и "идеального" высоту строки. Когда рамки отображает окно-разделитель, сначала отображается родительского фрейма, то окно-разделитель. Рамках затем изложены стекол в столбцах и строках в соответствии с их идеальные габариты, работающих из верхнего левого в правый нижний угол клиентской области окна разделителя.

Все панели в окне динамической разделителя должны иметь того же класса. Знакомые приложения, которые поддерживают динамическое разделителя windows в Microsoft Word и Microsoft Excel.

Используйте функцию-член CreateStatic для создания окна статический разделитель. Пользователь может изменить только размер панелей в статический разделитель окна, а не их количество или порядок.

Конкретно необходимо создать все статический разделитель панелей при создании статический разделитель. Убедитесь, вы создаете всех областей до родительского фрейма OnCreateClient член функция возвращает или рамки не будут правильно отображаться окно.

Функция-член CreateStatic автоматически инициализирует статический разделитель с минимальной высоты строки и столбца ширины 0. После того, как вы называете Create, настройте эти минимумы путем вызова функции SetColumnInfo и SetRowInfo -членов. И также используйте SetColumnInfo SetRowInfo после вызова CreateStatic для указания желаемых идеальной панели измерения.

Отдельные области статический разделитель часто принадлежат к различным классам. Примеры окон статический разделитель найти графический редактор и менеджер файлов Windows.

Окно-разделитель поддерживает специальные полосу прокрутки (в отличие от полосы прокрутки, которые могут иметь области). Эти полосы прокрутки дети CSplitterWnd объекта и совместно с ними.

Эти специальные прокрутки создается при создании окна разделителя. К примеру, CSplitterWnd , имеющий одну строку, два столбца и WS_VSCROLL стиль будет отображать вертикальную полосу прокрутки, совместно с двумя панелями. Когда пользователь перемещается полоса прокрутки, WM_VSCROLL сообщения отправляются в панелях. Когда панелей задать положение полосы прокрутки, устанавливается общий прокрутки.

Дополнительную информацию о разделителя windows содержатся в разделе техническое примечание 29. Для получения дополнительных сведений о том, как создавать динамические разделитель окна, см. Добавление разделителя Windows для каракулей в Расширение представлений в Visual C++ учебные материалыи образцы MFC Генеральной VIEWEX.

# include lt;afxext.h>

Члены класса |nbsp; Базовый класс | Иерархическая схема

Пример  Образца VIEWEX MFC

См. также CView, CWnd

Index