Окно - представление - Большая Энциклопедия Нефти и Газа, статья, страница 2
Порядочного человека можно легко узнать по тому, как неуклюже он делает подлости. Законы Мерфи (еще...)

Окно - представление

Cтраница 2


16 Окончательный вид диалогового окна мастера ClassWizard при создании обработчика сообщения WM MOUSEMOVE. [16]

При перемещении указателя мыши внутри окна представления функция OnMouseMove вызывается через определенные промежутки времени. Добавленный в нее код обеспечивает решение двух основных задач.  [17]

Когда нужно нарисовать или перерисовать окно представления, ему передают сообщение WM PAINT. Класс cview предоставляет функцию OnPaint, которая создает и подготавливает объект контекста устройства, а затем передает его в функцию OnDraw. Класс окна, который не порождается от cview, должен предоставлять собственную функцию OnPaint, выполняющую рисование содержимого окна.  [18]

Программа позволяет рисовать прямые линии внутри окна представления. Чтобы нарисовать линию, необходимо поместить указатель мыши в предполагаемую начальную точку, нажать левую кнопку мыши, перетащить указатель в предполагаемую конечную точку и отпустить кнопку.  [19]

20 Идентификаторы стандартных указателей Windows, которые можно передавать функции Loadstandardcursor. [20]

Чтобы пользователь мог рисовать линии внутри окна представления с помощью мыши, программа должна реагировать на события, происходящие внутри этого окна. Для обработки сообщения, передаваемого мышью, в класс представления необходимо добавить функцию обработки сообщений.  [21]

Например, если указатель находится внутри окна представления, то при нажатии левой кнопки мыши передается идентификатор WM LBUTTONDOWN.  [22]

Затем вызывается функция updateAllviews, очищающая окно представления.  [23]

Заметим: рекурсивный узор полностью заполняет окно представления, следовательно, значения переменных, используемых для его создания, зависят от размера окна. Они устанавливаются в ответ на сообщение WM SIZE, передаваемое при первичном создании окна и при каждом изменении его размеров.  [24]

Функция OnCreate вызывается после первоначального создания окна представления, но перед тем, как оно станет видимым.  [25]

Если размеры растрового изображения превышают размеры окна представления, то Windows автоматически отсекает часть, выходящую за пределы окна.  [26]

Функция OnSetFocus вызывается всякий раз, когда окно представления получает фокус ввода, в частности, при первоначальном создании окна представления и при каждом переключении на программу Echo после работы в другой программе. Функция OnSetFocus вызывает функцию CreateSolidCaret класса CWnd для создания курсора, передавая этой функции значения его ширины и высоты. Затем она вызывает функцию CWnd: : SetCaretPos, чтобы поместить курсор в нужную позицию. Так как вновь созданный курсор невидим, вызовите функцию CWnd: : ShowCaret, чтобы его отобразить.  [27]

В действительности система удаляет только ту часть окна представления, которую нужно перерисовать, например, закрытую другим окном.  [28]

Виртуальная функция OnUpdate вызывается при первоначальном создании окна представления, а также всякий раз, когда функция CTextDemoDoc: : OnOptionsFont обращается к CDocument: : UpdateAllViews после выбора нового шрифта ( о функции OnUpdate рассказывалось в гл. Функция OnUpdate устанавливает размер прокручиваемого документа ( т.е. полный размер основной части текста), полученный исходя из размеров нового шрифта.  [29]

Функция OnDraw вызывается при рисовании или перерисовке окна представления. CScrollView), то переданный в него объект контекста устройства настраивается на текущую позицию прокрутки документа.  [30]



Страницы:      1    2    3    4