- •3 Базовые классы библиотеки mfc
- •Класс cObject
- •Методы и переменные класса cObject
- •Класс cWinApp
- •IpszResourceName - указатель на строку, содержащую имя ресурса пиктограммы. (Тип параметра также может быть cString.) nIdResource - id ресурса пиктограммы.
- •Методы - обработчики сообщений
- •Класс cWnd
- •Методы инициализации
- •Методы управления состоянием окна
- •Управление размером и положением окна
- •Методы управления доступом
- •Методы обновления и перерисовки окна
- •IpRectUpdate - структура rect, определяющая координаты обновляемой прямоугольной области. Данный параметр игнорируется, если prgnUpdate содержит ненулевой указатель области.
- •Методы преобразования координат
- •Методы работы с текстом окна
- •Методы управления линейкой прокрутки
- •Методы управления курсором ввода
- •Методы управления элементами диалогового окна
- •IpString - указатель на буфер, содержащий выбранную строку списка.
- •IpStr - указатель на буфер, в который заносится текст или заголовок элемента управления.
- •Методы работы с меню
- •Методы управления таймером
- •Предупреждающие методы
- •Методы управления сообщениями
- •Переопределяемые методы
- •Методы, вызываемые для обработки сообщений
- •IpCreateStruct - структура createstruct, содержащая информацию о создаваемом объекте cWnd.
- •Класс cFile
- •Члены класса
- •IpszFileName - строка, указывающая в кодировке Windows абсолютный или относительный путь к имени файла. Не может содержать сетевого имени.
IpRectUpdate - структура rect, определяющая координаты обновляемой прямоугольной области. Данный параметр игнорируется, если prgnUpdate содержит ненулевой указатель области.
prgnUpdate - указатель обновляемой области. Если оба параметра - и prgnUpdate и IpRectUpdate - равны NULL, то обновляемой областью является вся клиентская область. flags - флажок, принимающий следующие значения:
RDW_ERASE RDW_NOINTERNALPAINT
RDWJFRAME RDW_VALIDATE
RDWJNTERNALPAINT RDW_ERASENOW
RDWJNVALIDATE RDWJJPDATENOW
RDW_NOERASE RDW_ALLCHILDREN
RDW_NOFRAME RDW_NOCHILDREN
Этот метод используется для обновления поврежденных областей окон Это более эффективно, чем перерисовывать все окно целиком. Поврежденная область возникает, например, когда открывается часть окна, ранее закрытая другим окном. При создании окна поврежденная область равняется клиентской области окна.
CDC* GetWindowDC ();
Метод возвращает контекст устройства для данного окна (а не только для клиентской области). Для удаления данного контекста следует обязательно вызвать метод ReleaseDC.
int ReleaseDC (CDC* pDС);
Метод удаляет контекст устройства, освобождая его для использования другими приложениями.
void UpdateWindow ();
Метод обновляет клиентскую область окна, инициируя сообщение WM_PAINT.
BOOL GetUpdateRect (LPRECT IpRect, BOOL bErase = FALSE);
Метод определяет координаты наименьшей прямоугольной области, которая полностью включает обновляемую область окна CWnd. Если обновляемая область не является пустой, то метод возвращает ненулевое значение.
int GetUpdateRgn (CRgn* pRgn, BOOL bErase = FALSE);
Метод определяет обновляемую область клиентской области окна. Обновляемая область pRgn может описываться как прямоугольник, круг, эллипс. Метод возвращает значение флажка, определяющего тип области. Это может быть одно из следующих значений:
SIMPLEREGION COMPLEXREGION NULLREGION ERROR
Параметры:
pRgn - обновляемая область. void Invalidate (BOOL bErase = TRUE);
Метод объявляет поврежденной всю клиентскую область окна и инициирует сообщение WMJPAINT.
Параметры:
bErase - определяет следует ли стирать фон внутри обновляемой области. void InvalidateRect (LPCRECT IpRect, BOOL bErase = TRUE);
Метод объявляет поврежденной указанную область клиентской области окна и инициирует сообщение WM_PAINT.
Параметры:
lpRect - указатель объекта CRect или структура RECT, определяющие поврежденную область (относительно клиентской области окна). Для того чтобы указать в качестве поврежденной всю клиентскую область, следует задать этот параметр равным NULL.
void InvalidateRgn (CRgn* pRgn, BOOL bErase = TRUE);
Метод объявляет поврежденной указанную параметром pRgn область клиентской области окна и инициирует сообщение WMJPAINT.
Отметим, что указываемая область предварительно должна быть создана вызовом соответствующего метода.
void ValidateRect (LPCRECT ipRect); void ValidateRgn (CRgn* pRgn);
Эти методы инициируют удаление указанной области из поврежденной области клиентской области окна. Это приводит к изменению границ поврежденной области.
BOOL ShowWindow (int nCmdShow);
Метод позволяет отобразить или скрыть окно. Если данное окно ранее было видимым, то метод возвращает ненулевое значение, и 0, если окно было скрыто.
Параметры:
nCmdShow - флажок, определяющий, как будет отображено окно CWnd.
Этот параметр может принимать одно из следующих значений:
SW_HIDE - спрятать данное окно;
SW_MINIMIZE - свернуть окно и активизировать окно верхнего уровня из системного списка;
SW_RESTORE - активизировать и отобразить окно (если данное окно было свернуто или развернуто, то Windows восстанавливает его первоначальные размер и положение);
SW_SHOW - активизировать и отобразить окно, используя его текущие , размер и положение;
SW_SHOWMAXIMIZED - активизировать окно и отобразить в полноэкранном представлении;
SW_SHOWMINIMIZED - активизировать окно и отобразить в свернутом виде (как пиктограмму);
SW_SHOWMINNOACTIVE - отобразить окно как пиктограмму (не активизируя его);
SW_SHOWNA - отобразить окно, не изменяя его текущего состояния и не меняя текущего активного окна;
SW_SHOWNOACTTVATE - отобразить окно (используя его последние размер и положение), не меняя текущего активного окна;
SW_SHOWNORMAL - активизировать и отобразить окно.
BOOL IsWindowVisible () const;
Метод возвращает ненулевое значение, если данное окно является видимым (имеет стиль WS_VISIBLE и его родительское окно также видимо).
void ShowOwnedPopups (BOOL bShow = TRUE);
Метод позволяет отобразить или скрыть все popup-окна, чьим собственником является данное окно.
Параметры:
bShow - при значении TRUE все скрытые popup-окна будут отображены, а при значении FALSE, все видимые popup-окна будут скрыты.
BOOL EnableScrollBar (int nSBFlags, UINT nArrowFlags = ESB_ENABLE_BOTH);
Метод разрешает или запрещает отображение линейки прокрутки и устанавливает вид отображаемой линейки прокрутки. При успешном завершении метод возвращает ненулевое значение.
Параметры:
nSBFlags - флажок, указывающий вид отображаемой линейки прокрутки. Параметр может принимать одно из следующих значений:
SB_BOTH SB_HORZ SB_VERT
nArrowFlags - флажок, определяющий доступность стрелок линейки прокрутки. Параметр может принимать одно из следующих значений:
ESB_ENABLE_BOTH (по умолчанию)
ESB_DISABLE_LTUP
ESB_DISABLE_RTDN
ESB_DISABLE_BOTH.