Cтраница 1
Разделенное окно является дочерним по отношению к главному окну приложения. [1]
Статическое разделенное окно с двумя горизонтальными областями. [2] |
В статических разделенных окнах ( рис. 46) области создаются только один раз, в момент создания самого окна. Их число и порядок расположения не могут быть изменены в процессе работы. Полосы разделителей используются для изменения размеров различных областей, которые обычно имеют различные классы представлений. [3]
Статическое разделенное окно с двумя горизонтальными областями. [4] |
В динамических разделенных окнах ( рис. 47) дополнительные области могут создаваться и разрушаться в произвольные моменты времени. Эти окна создаются с единственным представлением, и полосы разделителей предоставляют начальное разделение. Если представление разделено в одном направлении, то дополнительный объект представления динамически создается в представленной новой области. Если представление разделяется в двух направлениях, то три новых представления создаются в трех новых областях. [5]
Статическое разделенное окно с двумя горизонтальными областями. [6] |
Для поддержки разделенных окон в библиотеке классов MFC реализован специальный класс CSplitterWnd. Каждая область представляет собой отдельное окно, которое управляется объектом CSplitterWnd и обычно является определенным объектом приложения, производным от CView ( или его производного класса), но может быть и произвольным объектом CWnd, который имеет соответствующий идентификатор дочернего окна. При этом класс, на основе которого создается область, должен использовать макросы DECLARE DYNCREATE и IMPLEVENT DYNCREATE для поддержки режима динамического создания. Очевидно, что для областей гораздо легче ( и лучше) использовать классы представлений, чем обычные оконные классы. [7]
Динамическое разделенное окно с двумя горизонтальными и двумя вертикальными областями. [8] |
При создании любого из этих разделенных окон, необходимо, прежде всего, определить максимальное число строк и столбцов, которыми разделитель будет управлять. Для статического разделенного окна области должны быть созданы и все заполнены строками и столбцами. [9]
Класс CSplitterWnd поддерживает два различных стиля разделенных окон: статические и динамические. [10]
Хотя вы можете изменять масштаб в любой части разделенного окна, как правило, вы будете работать с увеличенной копией в левой части, используя фактический размер значка справа только для просмотра, как показано на этом рисунке. [11]
Когда вы создаете курсор или значок, редактор изображений использует разделенное окно. На рис. 12.2 показано окно редактора изображений во время редактирования значка. [12]
Первый параметр, переданный функции Create, определяет родительское окно для разделенного окна. Параметр this делает последнее дочерним окном по отношению к главному. [13]
Параметр dwStyle определяет его оконный стиль, а л / D - идентификатор дочернего окна, куда этот элемент управления будет вставлен; он может иметь значение AFX IDW PANE FIRST, если заданное разделенное окно не вложено в другое разделенное окно. [14]
Параметр dwStyle определяет его оконный стиль, а л / D - идентификатор дочернего окна, куда этот элемент управления будет вставлен; он может иметь значение AFX IDW PANE FIRST, если заданное разделенное окно не вложено в другое разделенное окно. [15]