- •3 Базовые классы библиотеки mfc
- •Класс cObject
- •Методы и переменные класса cObject
- •Класс cWinApp
- •IpszResourceName - указатель на строку, содержащую имя ресурса пиктограммы. (Тип параметра также может быть cString.) nIdResource - id ресурса пиктограммы.
- •Методы - обработчики сообщений
- •Класс cWnd
- •Методы инициализации
- •Методы управления состоянием окна
- •Управление размером и положением окна
- •Методы управления доступом
- •Методы обновления и перерисовки окна
- •IpRectUpdate - структура rect, определяющая координаты обновляемой прямоугольной области. Данный параметр игнорируется, если prgnUpdate содержит ненулевой указатель области.
- •Методы преобразования координат
- •Методы работы с текстом окна
- •Методы управления линейкой прокрутки
- •Методы управления курсором ввода
- •Методы управления элементами диалогового окна
- •IpString - указатель на буфер, содержащий выбранную строку списка.
- •IpStr - указатель на буфер, в который заносится текст или заголовок элемента управления.
- •Методы работы с меню
- •Методы управления таймером
- •Предупреждающие методы
- •Методы управления сообщениями
- •Переопределяемые методы
- •Методы, вызываемые для обработки сообщений
- •IpCreateStruct - структура createstruct, содержащая информацию о создаваемом объекте cWnd.
- •Класс cFile
- •Члены класса
- •IpszFileName - строка, указывающая в кодировке Windows абсолютный или относительный путь к имени файла. Не может содержать сетевого имени.
Методы обновления и перерисовки окна
CDC* BeginPaint (LPPAINTSTRUCT ipPaint);
Метод подготавливает CWnd для рисования (определяет контекст устройства) и заполняет структуру PAINTSTRUCT. void EndPaint (LPPAINTSTRUCT IpPaint);
Метод вызывается каждый раз после завершения рисования в указанной обновляемой области. void Print (CDC* pDC, DWORD dwFlags) const;
Метод выполняет вывод окна в заданном контексте устройства.
Параметры:
pDC - указатель на контекст устройства.
dwFlags - набор флажков, определяющих режим рисования. Параметр является комбинацией из одного или нескольких следующих значений: PRF_CHECKVISIBLE - отрисовка окна только в том случае, если оно является видимым;
pRF_CHILDREN - отрисовка всех видимых дочерних окон;
PRF_CLIENT - отрисовка клиентской области окна;
pRF_ERASEBKGND - удаление фона перед отрисовкой; PRF_NONCLIENT - отрисовка системной области окна; PRF_OWNED - отрисовка всех окон, принадлежащих данному окну для которых данное окно является собственником). Метод CWnd::DefWindowProc обрабатывает сообщение, инициируемое данным методом, в зависимости от указанных флажков. Например, если установлен флажок PRF_ERASEBKGND, то для окна будет инициировано сообщение WM_ERASEBKGND, а если установлен флажок PRF_PRINTCHILDREN, то каждое видимое дочернее окно получит сообщение WM_PRINT.
void PrintClient (CDC* pDC, DWORD dwFlags) const;
Метод выводит любое окно в указанном контексте устройства. BOOL LockWindowUpdate ();
Метод запрещает рисование в данном окне. При установленном режиме блокировки рисования данное окно не может быть перемещено. Одновременно для рисования может быть заблокировано только одно окно. При успешном завершении метод возвращает ненулевое значение.
Если в приложении для окна установлен режим блокировки вывода в окно, то при вызове функций GetDC, GetDCEx и BeginPaint возвращается контекст устройства с пустой видимой областью (visible region).
void CWnd::UnlockWindowUpdate();
Метод снимет блокировку вывода в окно. CDC* GetDC ();
Метод возвращает контекст устройства клиентской области окна CWnd или NULL. В зависимости от класса метод может возвращать общий контекст устройства или контекст класса и индивидуальный контекст. В первом случае метод устанавливает для контекста атрибуты, используемые по умолчанию. А в других случаях метод восстанавливает ранее назначенные атрибуты.
Контекст устройства используется во всех методах построения изображения. Более подробно о контексте устройства см. в гл. 8. CDC* GetDCEx (CRgn* prgnClip, DWORD flags);
Метод возвращает контекст устройства указанного окна или NULL.
Параметры:
PrgnClip - прямоугольная область, комбинируемая с видимой частью клиентской области окна. flags - флажок, принимающий одно из следующих значений:
DCX_CACHE;
DCX_CLIPCHILDREN - (исключение видимых областей всех дочерних окон ниже окна CWnd);
DCX_CLIPSIBLINGS - (исключение видимых областей всех одноуровневых окон выше окна CWnd);
DCX_EXCLUDERGN - (исключение области, указанной параметром prgnClip, из видимой области, возвращаемой контекстом устройства);
DCX_INTERSECTRGN - (пересечение области, указанной параметром prgnClip, с видимой частью возвращаемого контекста устройства);
DCX_LOCKWINDOWUPDATE; DCX_PARENTCLIP - (использование видимой области родительского окна и игнорирование тех окон, для которых установлены стили WS_CLIPCHILDREN и WS_PARENTDC);
DCX_WINDOW - (возвращение контекста устройства, соответствующего окну).
BOOL RedrawWindow (LPCRECT ipRectUpdate = NULL, CRgn* prgnUpdate = NULL, VINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);
Метод обновляет указанную область в клиентской области окна. При успешном завершении метод возвращает ненулевое значение.
Параметры: