Страница 30 из 40 void GetClientRect(LPRECT lpRect) const; Аргументы "sectiontableheader"lpRect - указатель на объект структуры RECT или объект класса CRect в который будут записаны координаты рабочей области окна. Переменные left и top в данном объекте структуры всегда имеют нулевое значение. В переменные right и bottom записывается ширина и высота рабочей области окна. Описание Копирует пользовательские координаты рабочей области окна, связанного с объектом класса CWnd, в структуру, на которую указывает аргумент lpRect. Пользовательские координаты определяют левый верхний и правый нижний углы рабочей области окна. Поскольку пользовательские координаты отсчитываются от верхнего левого угла рабочей области окна, связанного с объектом класса CWnd, координаты левого верхнего угла всегда (0,0) CDC* GetDC(); Возвращаемое значение В случае успешного завершения работы функции возвращается указатель на объект класса контекста устройства, используемого в рабочей области окна, связанного с объектом класса CWnd. В противном случае возвращается нулевое значение. Возвращаемый указатель может быть временным и не должен сохраняться для дальнейшего использования. Описание Данная функция возвращает указатель на объект класса обычного, принадлежащего классу или частного контекста устройства в зависимости от стиля класса, определенного при создании объекта класса CWnd. Для обычных контекстов устройств функция GetDC использует атрибуты, установленные по умолчанию, при каждом их вызове. Для контекстов устройств, принадлежащих классу, или частных контекстов устройств функция GetDC оставляет без изменения установленные ранее атрибуты. Контекст устройства может использоваться в последовательности функций графического интерфейса пользователя (GDI), осуществляющих вывод в рабочую область окна. Если контекст устройства принадлежит классу окна, после его использования следует вызвать функцию ReleaseDC для освобождения контекста устройства. Поскольку в операционной системе одновременно может находиться не более пяти объектов класса обычного контекста устройств, отсутствие операции освобождения контекста устройства после его использования в данном приложении может привести к тому, что другие приложения не смогут получить доступ к контексту устройств. Функция GetDC возвращает контекст устройства, принадлежащий классу CWnd, в том случае, если при регистрации данного класса в структуре WNDCLASS были установлены флаги CS_CLASSDC, CS_OWNDC или CS_PARENTDC. CWnd* GetParentOwner() const; Возвращаемое значение Указатель на объект класса CWnd. Если объект класса CWnd не имеет дескриптора, создается временный объект класса CWnd и ему сопоставляется дескриптор. Возвращаемый данной функцией указатель может быть временным и его не следует сохранять для дальнейшего использования. Описание Данная функция позволяет получить указатель на родительское окно данного дочернего окна или на владельца окна. Функция GetParentOwner возвращает указатель на ближайшее в иерархии родительское окно или на владельца окна, который сам не является дочерним окном (не имеет стиля WS_CHILD). Текущий владелец окна может быть установлен при вызове функции SetOwner. По умолчанию родительское окно любого окна одновременно является и его владельцем. В отличие от данной функции функция GetParent возвращает указатель на непосредственного родителя независимо от того, является ли он дочерним окном или нет. В том случае, если родительским окном для данного окна является дочернее окно другого окна, то функции GetParent и GetParentOwner возвращают указатели на различные объекты класса CWnd. HWND GetSafeHwnd() const; Возвращаемое значение Возвращает дескриптор текущего окна. Если объект класса CWnd не связан с окном, или в нем использован нулевой указатель на окно, возвращает нулевое значение. Описание Позволяет получить значение переменной m_hWnd. Если указатель this имеет нулевое значение, возвращает значение NULL. DWORD GetStyle() const; Возвращаемое значение Стиль окна. Описание Возвращает текущий стиль окна. DWORD GetWindowContextHelpId() const; Возвращаемое значение Если с данным объектом класса CWnd связан идентификатор контекстной справки, возвращает этот идентификатор. В противном случае возвращает нулевое значение. Описание Данная функция позволяет получить идентификатор контекстной справки, связанный с данным объектом класса CWnd. void Invalidate(BOOL bErase = TRUE); Аргументы "sectiontableheader"bErase - определяет необходимость уничтожения фона при перерисовке. Описание Вызывает перерисовку всей рабочей области окна, связанного с объектом класса CWnd. Рабочая область отмечается как нуждающаяся в перерисовке при поступлении следующего сообщения WM_PAINT. В рабочей области окна может быть отменена перерисовка, если до прихода следующего сообщения WM_PAINT будут вызваны функции ValidateRect или ValidateRgn. Аргумент bErase определяет необходимость уничтожения фона в процессе перерисовки рабочей области окна. Если данный аргумент принимает значение TRUE, то при вызове функции BeginPaint происходит уничтожение фона, в противном случае фон остается без изменений. Если аргумент bErase принимает значение TRUE для любой части перерисовываемой области, фон уничтожается во всей этой области. Окно посылает сообщение WM_PAINT в том случае, если в окне имеются области, нуждающиеся в перерисовке, и в очереди сообщений приложения отсутствуют другие сообщения для данного окна. BOOL ModifyStyleEx(DWORD dwRemove, DWORD dwAdd, UINT nFlags = 0); Возвращаемое значение Ненулевое, если произошло изменение стиля окна, в противном случае - ноль. Аргументы "sectiontableheader"dwRemove - определяет дополнительные стили, которые необходимо удалить в процессе изменения стиля окна. "sectiontableheader"dwAdd - определяет дополнительные стили, которые необходимо добавить в процессе изменения стиля окна. "sectiontableheader"nFlags - флаги, передаваемые функции SetWindowPos, или ноль, если нет необходимости вызывать функцию SetWindowPos. По умолчанию данный аргумент имеет нулевое значение. В данном аргументе могут быть установлены следующие флаги: "sectiontableheader"SWP_NOSIZE - сохраняется прежний размер окна; "sectiontableheader"SWP_NOMOVE - сохраняется прежнее положение окна; "sectiontableheader"SWP_NOZORDER - сохраняется прежний Z порядок; "sectiontableheader"SWP_NOACTIVATE - окно не активизируется. Описание Данная функция вызывается для внесения изменений в дополнительные стили окна. Добавляемые и удаляемые стили объединяются с использованием оператора побитового ИЛИ. Для внесения изменений в обычные стили окна используется функция ModifyStyle. afx_msg void OnContextMenu(CWnd* pWnd, CPoint pos); Аргументы "sectiontableheader"pWnd - дескриптор окна в котором пользователь щелкнул правой кнопкой мыши. Это может быть дочернее окно для окна, обрабатывающего данное сообщение. "sectiontableheader"pos - позиция указателя мыши в момент щелчка правой кнопки, заданная в экранных координатах. Описание Вызывается приложением при щелчке правой кнопки мыши в окне. Для обработки данного сообщения и вывода контекстного меню может использоваться функция TrackPopupMenu. Если пользователь не вывел контекстное меню, он должен передать это сообщение функции DefWindowProc. Если щелчок правой кнопкой мыши был произведен в дочернем окне, то функция DefWindowProc посылает сообщение родительскому окну. В противном случае, если щелчок правой кнопкой мыши был произведен в области заголовка окна, функция DefWindowProc выводит контекстное меню, определенное по умолчанию. afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo); Аргументы "sectiontableheader"lpHelpInfo - указатель на объект структуры HELPINFO, содержащий информацию о команде меню, элементе управления, диалоговом окне или окне по которым запрошена справочная информация. Описание Вызывается приложением при нажатии пользователем клавиши . Если в момент нажатия клавиши фокус ввода принадлежит меню, то сообщение WM_HELP посылается окну, связанному с данным меню. В противном случае сообщение WM_HELP посылается окну, имеющему на данный момент фокус ввода. Если ни одно окно не имеет фокуса ввода, сообщение WM_HELP посылается активному окну. |