Класс CWindow
Этот класс предоставляет методы для управления окном.
Внимание
Этот класс и его члены нельзя использовать в приложениях, выполняемых в среде выполнения Windows.
Синтаксис
class CWindow
Участники
Открытые конструкторы
Имя | Описание |
---|---|
CWindow::CWindow |
Конструктор. |
Открытые методы
Имя | Описание |
---|---|
CWindow::ArrangeIconicWindows |
Упорядочивает все свернутые дочерние окна. |
CWindow::Attach |
Присоединяет окно к объекту CWindow . |
CWindow::BeginPaint |
Подготавливает окно к рисованию. |
CWindow::BringWindowToTop |
Выводит окно в начало порядка Z. |
CWindow::CenterWindow |
Центрируется окно с заданным окном. |
CWindow::ChangeClipboardChain |
Удаляет окно из цепочки зрителей буфера обмена. |
CWindow::CheckDlgButton |
Изменяет состояние проверки указанной кнопки. |
CWindow::CheckRadioButton |
Проверяет указанную переключатель. |
CWindow::ChildWindowFromPoint |
Извлекает дочернее окно, содержащее указанную точку. |
CWindow::ChildWindowFromPointEx |
Извлекает определенный тип дочернего окна, содержащего указанную точку. |
CWindow::ClientToScreen |
Преобразует координаты клиента в координаты экрана. |
CWindow::Create |
Создает окно. |
CWindow::CreateCaret |
Создает новую фигуру для системного ухода. |
CWindow::CreateGrayCaret |
Создает серый прямоугольник для системы. |
CWindow::CreateSolidCaret |
Создает сплошной прямоугольник для системы. |
CWindow::DeferWindowPos |
Обновляет указанную структуру с несколькими окнами для указанного окна. |
CWindow::DestroyWindow |
Уничтожает окно, связанное CWindow с объектом. |
CWindow::Detach |
Отсоединяет окно от CWindow объекта. |
CWindow::DlgDirList |
Заполняет поле списка именами всех файлов, соответствующих указанному пути или имени файла. |
CWindow::DlgDirListComboBox |
Заполняет поле со списком имена всех файлов, соответствующих указанному пути или имени файла. |
CWindow::DlgDirSelect |
Извлекает текущее выделение из списка. |
CWindow::DlgDirSelectComboBox |
Извлекает текущий выбор из поля со списком. |
CWindow::DragAcceptFiles |
Регистрирует, принимает ли окно перетаскиваемые файлы. |
CWindow::DrawMenuBar |
Перерисовывает строку меню окна. |
CWindow::EnableScrollBar |
Включает или отключает стрелки полосы прокрутки. |
CWindow::EnableWindow |
Включает или отключает входные данные. |
CWindow::EndPaint |
Отмечает завершение рисования. |
CWindow::FlashWindow |
Окно однократно мигает. |
CWindow::GetClientRect |
Извлекает координаты клиентской области. |
CWindow::GetDC |
Извлекает контекст устройства для клиентской области. |
CWindow::GetDCEx |
Извлекает контекст устройства для клиентской области и разрешает параметры вырезки. |
CWindow::GetDescendantWindow |
Извлекает указанное окно потомка. |
CWindow::GetDlgControl |
Извлекает интерфейс для указанного элемента управления. |
CWindow::GetDlgCtrlID |
Извлекает идентификатор окна (только для дочерних окон). |
CWindow::GetDlgHost |
Извлекает указатель на интерфейс к контейнеру размещения элемента управления ATL. |
CWindow::GetDlgItem |
Извлекает указанное дочернее окно. |
CWindow::GetDlgItemInt |
Преобразует текст элемента управления в целое число. |
CWindow::GetDlgItemText |
Извлекает текст элемента управления. |
CWindow::GetExStyle |
Извлекает расширенные стили окон. |
CWindow::GetFont |
Извлекает текущий шрифт окна. |
CWindow::GetHotKey |
Определяет горячий ключ, связанный с окном. |
CWindow::GetIcon |
Извлекает значок большого или маленького окна. |
CWindow::GetLastActivePopup |
Извлекает последнее активное всплывающее окно. |
CWindow::GetMenu |
Извлекает меню окна. |
CWindow::GetNextDlgGroupItem |
Извлекает предыдущий или следующий элемент управления в группе элементов управления. |
CWindow::GetNextDlgTabItem |
Извлекает предыдущий или следующий элемент управления, имеющий WS_TABSTOP стиль. |
CWindow::GetParent |
Извлекает немедленное родительское окно. |
CWindow::GetScrollInfo |
Извлекает параметры полосы прокрутки. |
CWindow::GetScrollPos |
Извлекает позицию поля прокрутки. |
CWindow::GetScrollRange |
Извлекает диапазон полосы прокрутки. |
CWindow::GetStyle |
Извлекает стили окон. |
CWindow::GetSystemMenu |
Создает копию системного меню для изменения. |
CWindow::GetTopLevelParent |
Извлекает окно родительского или владельца верхнего уровня. |
CWindow::GetTopLevelWindow |
Извлекает окно владельца верхнего уровня. |
CWindow::GetTopWindow |
Извлекает дочернее окно верхнего уровня. |
CWindow::GetUpdateRect |
Извлекает координаты наименьшего прямоугольника, в который полностью входит область обновления . |
CWindow::GetUpdateRgn |
Извлекает регион обновления и копирует его в указанный регион. |
CWindow::GetWindow |
Извлекает указанное окно. |
CWindow::GetWindowContextHelpId |
Извлекает идентификатор контекста справки окна. |
CWindow::GetWindowDC |
Извлекает контекст устройства для всего окна. |
CWindow::GetWindowLong |
Извлекает 32-разрядное значение с указанным смещением в дополнительную память окна. |
CWindow::GetWindowLongPtr |
Извлекает сведения об указанном окне, включая значение с указанным смещением в дополнительную память окна. |
CWindow::GetWindowPlacement |
Извлекает состояние и позиции отображения. |
CWindow::GetWindowProcessID |
Извлекает идентификатор процесса, создавшего окно. |
CWindow::GetWindowRect |
Извлекает ограничивающие размеры окна. |
CWindow::GetWindowRgn |
Получает копию области окна окна. |
CWindow::GetWindowText |
Извлекает текст окна. |
CWindow::GetWindowTextLength |
Извлекает длину текста окна. |
CWindow::GetWindowThreadID |
Извлекает идентификатор потока, создавшего указанное окно. |
CWindow::GetWindowWord |
Извлекает 16-разрядное значение с указанным смещением в дополнительную память окна. |
CWindow::GotoDlgCtrl |
Задает фокус клавиатуры элементу управления в диалоговом окне. |
CWindow::HideCaret |
Скрывает системный уход. |
CWindow::HiliteMenuItem |
Выделяет или удаляет выделение из элемента меню верхнего уровня. |
CWindow::Invalidate |
Делает недействительной всю клиентскую область. |
CWindow::InvalidateRect |
Отменяет область клиента в указанном прямоугольнике. |
CWindow::InvalidateRgn |
Отменяет область клиента в указанном регионе. |
CWindow::IsChild |
Определяет, является ли указанное окно дочерним окном. |
CWindow::IsDialogMessage |
Определяет, предназначено ли сообщение для указанного диалогового окна. |
CWindow::IsDlgButtonChecked |
Определяет состояние проверки кнопки. |
CWindow::IsIconic |
Определяет, свернуто ли окно. |
CWindow::IsParentDialog |
Определяет, является ли родительское окно элемента управления диалоговым окном. |
CWindow::IsWindow |
Определяет, идентифицирует ли указанный дескриптор окна. |
CWindow::IsWindowEnabled |
Определяет, включено ли окно для входных данных. |
CWindow::IsWindowUnicode |
Определяет, является ли указанное окно собственным окном Юникода. |
CWindow::IsWindowVisible |
Определяет состояние видимости окна. |
CWindow::IsZoomed |
Определяет, развернуто ли окно. |
CWindow::KillTimer |
Уничтожает событие таймера. |
CWindow::LockWindowUpdate |
Отключает или включает рисование в окне. |
CWindow::MapWindowPoints |
Преобразует набор точек из координатного пространства окна в координатное пространство другого окна. |
CWindow::MessageBox |
Отображает окно сообщения. |
CWindow::ModifyStyle |
Изменяет стили окон. |
CWindow::ModifyStyleEx |
Изменяет стили расширенных окон. |
CWindow::MoveWindow |
Изменяет размер и положение окна. |
CWindow::NextDlgCtrl |
Задает фокус клавиатуры следующим элементом управления в диалоговом окне. |
CWindow::OpenClipboard |
Открывает буфер обмена. |
CWindow::PostMessage |
Помещает сообщение в очередь сообщений, связанную с потоком, создающим окно. Возвращается без ожидания обработки сообщения потоком. |
CWindow::PrevDlgCtrl |
Задает фокус клавиатуры предыдущему элементу управления в диалоговом окне. |
CWindow::Print |
Запрашивает, что окно будет вырисовано в указанном контексте устройства. |
CWindow::PrintClient |
Запрашивает, чтобы клиентская область окна была нарисована в указанном контексте устройства. |
CWindow::RedrawWindow |
Обновляет указанный прямоугольник или регион в клиентской области. |
CWindow::ReleaseDC |
Освобождает контекст устройства. |
CWindow::ResizeClient |
Изменяет размер окна. |
CWindow::ScreenToClient |
Преобразует координаты экрана в координаты клиента. |
CWindow::ScrollWindow |
Прокручивает указанную клиентская область. |
CWindow::ScrollWindowEx |
Прокручивает указанную клиентская область с дополнительными функциями. |
CWindow::SendDlgItemMessage |
Отправляет сообщение в элемент управления. |
CWindow::SendMessage |
Отправляет сообщение в окно и не возвращается, пока процедура окна не обработала сообщение. |
CWindow::SendMessageToDescendants |
Отправляет сообщение в указанные окна потомков. |
CWindow::SendNotifyMessage |
Отправляет сообщение в окно. Если окно было создано вызывающим потоком, SendNotifyMessage не возвращается, пока процедура окна не обработала сообщение. В противном случае он возвращается немедленно. |
CWindow::SetActiveWindow |
Активирует окно. |
CWindow::SetCapture |
Отправляет все последующие входные данные мыши в окно. |
CWindow::SetClipboardViewer |
Добавляет окно в цепочку просмотра буфера обмена. |
CWindow::SetDlgCtrlID |
Изменяет идентификатор окна. |
CWindow::SetDlgItemInt |
Изменяет текст элемента управления в строковое представление целочисленного значения. |
CWindow::SetDlgItemText |
Изменяет текст элемента управления. |
CWindow::SetFocus |
Задает фокус ввода в окно. |
CWindow::SetFont |
Изменяет текущий шрифт окна. |
CWindow::SetHotKey |
Связывает горячий ключ с окном. |
CWindow::SetIcon |
Изменяет значок большого или маленького окна. |
CWindow::SetMenu |
Изменяет текущее меню окна. |
CWindow::SetParent |
Изменяет родительское окно. |
CWindow::SetRedraw |
Задает или очищает флаг перерасчета. |
CWindow::SetScrollInfo |
Задает параметры полосы прокрутки. |
CWindow::SetScrollPos |
Изменяет положение поля прокрутки. |
CWindow::SetScrollRange |
Изменяет диапазон полосы прокрутки. |
CWindow::SetTimer |
Создает событие таймера. |
CWindow::SetWindowContextHelpId |
Задает идентификатор контекста справки окна. |
CWindow::SetWindowLong |
Задает 32-разрядное значение с указанным смещением в дополнительную память окна. |
CWindow::SetWindowLongPtr |
Изменяет атрибут указанного окна, а также задает значение с указанным смещением в дополнительной памяти окна. |
CWindow::SetWindowPlacement |
Задает состояние и позиции отображения. |
CWindow::SetWindowPos |
Задает размер, позицию и порядок Z. |
CWindow::SetWindowRgn |
Задает область окна окна. |
CWindow::SetWindowText |
Изменяет текст окна. |
CWindow::SetWindowWord |
Задает 16-разрядное значение с указанным смещением в дополнительную память окна. |
CWindow::ShowCaret |
Отображает системную подсказку. |
CWindow::ShowOwnedPopups |
Отображает или скрывает всплывающие окна, принадлежащие окну. |
CWindow::ShowScrollBar |
Отображает или скрывает полосу прокрутки. |
CWindow::ShowWindow |
Задает состояние отображения окна. |
CWindow::ShowWindowAsync |
Задает состояние отображения окна, созданного другим потоком. |
CWindow::UpdateWindow |
Обновляет клиентскую область. |
CWindow::ValidateRect |
Проверяет клиентская область в указанном прямоугольнике. |
CWindow::ValidateRgn |
Проверяет клиентская область в указанном регионе. |
CWindow::WinHelp |
Запускает справку Windows. |
Открытые операторы
Имя | Описание |
---|---|
CWindow::operator HWND |
Преобразует объект в CWindow объект HWND . |
CWindow::operator = |
HWND Назначает объектуCWindow . |
Открытые члены данных
Имя | Описание |
---|---|
CWindow::m_hWnd |
Дескриптор окна, связанного CWindow с объектом. |
CWindow::rcDefault |
Содержит измерения окна по умолчанию. |
Замечания
CWindow
предоставляет базовые функции для управления окном в ATL. CWindow
Многие из методов просто упаковывают один из функций API Win32. Например, сравните прототипы для CWindow::ShowWindow
и ShowWindow
:
Метод CWindow | Функция Win32 |
---|---|
BOOL ShowWindow( int nCmdShow ); |
BOOL ShowWindow( HWND hWnd , int nCmdShow ); |
CWindow::ShowWindow
вызывает функцию ShowWindow
Win32, передав CWindow::m_hWnd
в качестве первого параметра. Каждый CWindow
метод, который напрямую упаковывает функцию Win32, передает m_hWnd
элемент. Поэтому большая часть CWindow
документации будет ссылаться на пакет SDK для Windows.
Примечание.
Не каждая функция Win32, связанная с окном, упаковывается CWindow
в оболочку, и не каждый CWindow
метод упаковывает функцию Win32.
CWindow::m_hWnd
сохраняет окно HWND
, определяющее окно. Присоединен HWND
к объекту при выполнении:
Укажите конструктор
HWND
вCWindow
конструкторе.Вызовите процедуру
CWindow::Attach
.Используйте
CWindow
.soperator =
.Создание или подкласс окна с помощью одного из следующих классов, производных от
CWindow
:
CWindowImpl
Позволяет создать новое окно или подкласс существующего окна.
CContainedWindow
Реализует окно, содержащееся в другом объекте. Можно создать новое окно или подкласс существующего окна.
CDialogImpl
Позволяет создать модальное или безрежимное диалоговое окно.
Дополнительные сведения о окнах см. в разделах Windows и последующих разделах в пакете SDK для Windows. Дополнительные сведения об использовании окон в ATL см. в статье "Классы окон ATL".
Требования
Заголовок: atlwin.h
CWindow::ArrangeIconicWindows
Упорядочивает все свернутые дочерние окна.
UINT ArrangeIconicWindows() throw();
Замечания
См ArrangeIconicWindows
. в пакете SDK для Windows.
CWindow::Attach
Присоединяет окно, hWndNew
определенное CWindow
объектом.
void Attach(HWND hWndNew) throw();
Параметры
hWndNew
[in] Дескриптор окна.
Пример
//The following example attaches an HWND to the CWindow object
HWND hWnd = ::GetDesktopWindow();
CWindow myWindow;
myWindow.Attach(hWnd);
CWindow::BeginPaint
Подготавливает окно к рисованию.
HDC BeginPaint(LPPAINTSTRUCT lpPaint) throw();
Замечания
См BeginPaint
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object
//and calls CWindow::BeginPaint() and CWindow::EndPaint() in the
// WM_PAINT handler of a CWindowImpl-derived class
LRESULT CMyCtrl::OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/,
BOOL& /*bHandled*/)
{
CWindow myWindow;
myWindow.Attach(m_hWnd);
PAINTSTRUCT ps;
HDC hDC = myWindow.BeginPaint(&ps);
//Use the hDC as much as you want
::Rectangle(hDC, 0, 0, 50, 50);
myWindow.EndPaint(&ps);
return 0;
}
CWindow::BringWindowToTop
Выводит окно в начало порядка Z.
BOOL BringWindowToTop() throw();
Замечания
См BringWindowToTop
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::BringWindowToTop() to bring the window to the top
//of the z-order.
CWindow myWindow;
myWindow.Attach(hWnd);
BOOL bOnTop = myWindow.BringWindowToTop();
//check if we could bring the window on top
if(bOnTop)
{
//Do something
}
CWindow::CenterWindow
Центрируется окно с заданным окном.
BOOL CenterWindow(HWND hWndCenter = NULL) throw();
Параметры
hWndCenter
[in] Дескриптор окна, в котором по центру. Если этот параметр имеет значение NULL
(значение по умолчанию), метод будет задан hWndCenter
в родительском окне окна, если это дочернее окно. В противном случае оно будет задано hWndCenter
в окне владельца окна.
Возвращаемое значение
TRUE
Значение , если окно успешно центрировано; FALSE
в противном случае .
Пример
//The following example attaches various HWNDs to the CWindow objects
//and calls CWindow::CenterWindow() for each of them
CWindow childWindow, popupWindow, overlappedWindow;
childWindow.Attach(hWndChild); //a window created with WS_CHILD style
childWindow.CenterWindow(); //This will center the child
//window against its Parent window
popupWindow.Attach(hWndPopup); //a window created with WS_POPUP style
popupWindow.CenterWindow(); //This will center the popup window
//against its Owner window
overlappedWindow.Attach(hWndOverlapped); //a window created with
//WS_OVERLAPPED style
overlappedWindow.CenterWindow(::GetDesktopWindow()); //This will center
//the overlapped window against the DeskTop window
CWindow::ChangeClipboardChain
Удаляет окно из цепочки зрителей буфера обмена.
BOOL ChangeClipboardChain(HWND hWndNewNext) throw();
Замечания
См ChangeClipboardChain
. в пакете SDK для Windows.
CWindow::CheckDlgButton
Изменяет состояние проверки указанной кнопки.
BOOL CheckDlgButton(int nIDButton, UINT nCheck) throw();
Замечания
См CheckDlgButton
. в пакете SDK для Windows.
CWindow::CheckRadioButton
Проверяет указанную переключатель.
BOOL CheckRadioButton(
int nIDFirstButton,
int nIDLastButton,
int nIDCheckButton) throw();
Замечания
См CheckRadioButton
. в пакете SDK для Windows.
CWindow::ChildWindowFromPoint
Извлекает дочернее окно, содержащее указанную точку.
HWND ChildWindowFromPoint(POINT point) const throw();
Замечания
См ChildWindowFromPoint
. в пакете SDK для Windows.
CWindow::ChildWindowFromPointEx
Извлекает определенный тип дочернего окна, содержащего указанную точку.
HWND ChildWindowFromPoint(POINT point, UINT uFlags) const throw();
Замечания
См ChildWindowFromPointEx
. в пакете SDK для Windows.
CWindow::ClientToScreen
Преобразует координаты клиента в координаты экрана.
BOOL ClientToScreen(LPPOINT lpPoint) const throw();
BOOL ClientToScreen(LPRECT lpRect) const throw();
Замечания
См ClientToScreen
. в пакете SDK для Windows.
Вторая версия этого метода позволяет преобразовать координаты RECT
структуры.
CWindow::Create
Создает окно.
HWND Create(
LPCTSTR lpstrWndClass,
HWND hWndParent,
_U_RECT rect = NULL,
LPCTSTR szWindowName = NULL,
DWORD dwStyle = 0,
DWORD dwExStyle = 0,
_U_MENUorID MenuOrID = 0U,
LPVOID lpCreateParam = NULL) throw();
Параметры
lpstrWndClass
[in] Указатель на класс окна.
hWndParent
[in] Дескриптор родительского или владельца окна.
rect
[in] Переменная типа _U_RECT
, указывающая положение окна. Значение по умолчанию — NULL
. Если этот параметр имеет значение NULL
, используется значение CWindow::rcDefault
.
szWindowName
[in] Указывает имя окна. Значение по умолчанию — NULL
.
dwStyle
[in] Стиль окна. Значение по умолчанию равно 0, то есть стиль не указан. Список возможных значений см CreateWindow
. в пакете SDK для Windows.
dwExStyle
[in] Стиль расширенного окна. Значение по умолчанию равно 0, что означает, что расширенный стиль не указан. Список возможных значений см CreateWindowEx
. в пакете SDK для Windows.
MenuOrID
[in] Переменная типа _U_MENUorID
, указывающая дескриптор меню или идентификатор окна. Значение по умолчанию — 0U
.
lpCreateParam
Указатель на данные создания окна, содержащиеся в CREATESTRUCT
структуре.
Возвращаемое значение
В случае успешного выполнения дескриптор в только что созданное окно, указанное в параметре m_hWnd
. В противном случае — NULL
.
Замечания
CWindow::rcDefault
определяется как __declspec(selectany) RECT CWindow::rcDefault = {CW_USEDEFAULT, CW_USEDEFAULT, 0, 0};
.
Дополнительные сведения см CreateWindow
. в пакете SDK для Windows.
Примечание. Если значение 0 используется в качестве значения параметра MenuOrID
, его необходимо указать как 0U
(значение по умолчанию), чтобы избежать ошибки компилятора.
CWindow::CreateCaret
Создает новую фигуру для системного ухода.
BOOL CreateCaret(HBITMAP pBitmap) throw();
Замечания
См CreateCaret
. в пакете SDK для Windows.
CWindow::CreateGrayCaret
Создает серый прямоугольник для системы.
BOOL CreateGrayCaret(int nWidth, int nHeight) throw();
Замечания
См CreateCaret
. в пакете SDK для Windows.
Передает (HBITMAP) 1
параметр дескриптора растрового изображения функции Win32.
CWindow::CreateSolidCaret
Создает сплошной прямоугольник для системы.
BOOL CreateSolidCaret(int nWidth, int nHeight) throw();
Замечания
См CreateCaret
. в пакете SDK для Windows.
Передает (HBITMAP) 0
параметр дескриптора растрового изображения функции Win32.
CWindow::CWindow
Конструктор.
CWindow(HWND hWnd = NULL) throw();
Параметры
hWnd
[in] Дескриптор окна.
Замечания
Инициализирует m_hWnd
элемент hWnd
в , в который по умолчанию используется NULL
.
Примечание.
CWindow::CWindow
не создает окно. Классы, и CDialogImpl
(все из которых являются производными CWindow
от) предоставляют метод для создания окна или диалогового окна, которому затем назначаетсяCWindow::m_hWnd
. CContainedWindow
CWindowImpl
Вы также можете использовать функцию CreateWindow
Win32.
CWindow::DeferWindowPos
Обновляет указанную структуру с несколькими окнами для указанного окна.
HDWP DeferWindowPos(
HDWP hWinPosInfo,
HWND hWndInsertAfter,
int x,
int y,
int cx,
int cy,
UINT uFlags) throw();
Замечания
См DeferWindowPos
. в пакете SDK для Windows.
CWindow::DestroyWindow
Уничтожает окно, связанное CWindow
с объектом, и задает m_hWnd
значение NULL
.
BOOL DestroyWindow() throw();
Замечания
См DestroyWindow
. в пакете SDK для Windows.
Он не уничтожает CWindow
сам объект.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::DestroyWindow() to destroy the window
CWindow myWindow;
myWindow.Attach(hWndChild);
//call the CWindow wrappers
myWindow.DestroyWindow();
hWndChild = NULL;
CWindow::Detach
Отсоединяется m_hWnd
от CWindow
объекта и задает m_hWnd
значение NULL
.
HWND Detach() throw();
Возвращаемое значение
Объект HWND
, связанный с объектом CWindow
.
Пример
//The following example attaches an HWND to the CWindow object and
//later detaches the CWindow object from the HWND when no longer needed
CWindow myWindow;
myWindow.Attach(hWnd);
//call CWindow wrappers
//We don't need the C++ object any more, so detach it from the HWND.
myWindow.Detach();
CWindow::DlgDirList
Заполняет поле списка именами всех файлов, соответствующих указанному пути или имени файла.
int DlgDirList(
LPTSTR lpPathSpec,
int nIDListBox,
int nIDStaticPath,
UINT nFileType) throw();
Замечания
См DlgDirList
. в пакете SDK для Windows.
CWindow::DlgDirListComboBox
Заполняет поле со списком имена всех файлов, соответствующих указанному пути или имени файла.
int DlgDirListComboBox(
LPTSTR lpPathSpec,
int nIDComboBox,
int nIDStaticPath,
UINT nFileType) throw();
Замечания
См DlgDirListComboBox
. в пакете SDK для Windows.
CWindow::DlgDirSelect
Извлекает текущее выделение из списка.
BOOL DlgDirSelect(
LPTSTR lpString,
int nCount,
int nIDListBox) throw();
Замечания
См DlgDirSelectEx
. в пакете SDK для Windows.
CWindow::DlgDirSelectComboBox
Извлекает текущий выбор из поля со списком.
BOOL DlgDirSelectComboBox(
LPTSTR lpString,
int nCount,
int nIDComboBox) throw();
Замечания
См DlgDirSelectComboBoxEx
. в пакете SDK для Windows.
CWindow::DragAcceptFiles
Регистрирует, принимает ли окно перетаскиваемые файлы.
void DragAcceptFiles(BOOL bAccept = TRUE);
Замечания
См DragAcceptFiles
. в пакете SDK для Windows.
CWindow::DrawMenuBar
Перерисовывает строку меню окна.
BOOL DrawMenuBar() throw();
Замечания
См DrawMenuBar
. в пакете SDK для Windows.
CWindow::EnableScrollBar
Включает или отключает стрелки полосы прокрутки.
BOOL EnableScrollBar(UINT uSBFlags, UINT uArrowFlags = ESB_ENABLE_BOTH) throw();
Замечания
См EnableScrollBar
. в пакете SDK для Windows.
CWindow::EnableWindow
Включает или отключает входные данные.
BOOL EnableWindow(BOOL bEnable = TRUE) throw();
Замечания
См EnableWindow
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::EnableWindow() to enable and disable the window
//wrapped by the CWindow object
CWindow myWindow;
myWindow.Attach(hWnd);
//The following call enables the window
//CWindow::EnableWindow() takes TRUE as the default parameter
myWindow.EnableWindow();
if(myWindow.IsWindowEnabled())
{
//Do something now that the window is enabled
//Now it's time to disable the window again
myWindow.EnableWindow(FALSE);
}
CWindow::EndPaint
Отмечает завершение рисования.
void EndPaint(LPPAINTSTRUCT lpPaint) throw();
Замечания
См EndPaint
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object
//and calls CWindow::BeginPaint() and CWindow::EndPaint() in the
// WM_PAINT handler of a CWindowImpl-derived class
LRESULT CMyCtrl::OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/,
BOOL& /*bHandled*/)
{
CWindow myWindow;
myWindow.Attach(m_hWnd);
PAINTSTRUCT ps;
HDC hDC = myWindow.BeginPaint(&ps);
//Use the hDC as much as you want
::Rectangle(hDC, 0, 0, 50, 50);
myWindow.EndPaint(&ps);
return 0;
}
CWindow::FlashWindow
Окно однократно мигает.
BOOL FlashWindow(BOOL bInvert) throw();
Замечания
См FlashWindow
. в пакете SDK для Windows.
CWindow::GetClientRect
Извлекает координаты клиентской области.
BOOL GetClientRect(LPRECT lpRect) const throw();
Замечания
См GetClientRect
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::GetClientRect() to get the client area rectangle
//of the window
CWindow myWindow;
myWindow.Attach(hWnd);
RECT rc;
myWindow.GetClientRect(&rc);
CWindow::GetDC
Извлекает контекст устройства для клиентской области.
HDC GetDC() throw();
Замечания
См GetDC
. в пакете SDK для Windows.
Пример
// The following example attaches a HWND to the CWindow object,
// calls CWindow::GetDC to retrieve the DC of the client
// area of the window wrapped by CWindow Object, and calls
// CWindow::ReleaseDC to release the DC.
CWindow myWindow;
myWindow.Attach(hWnd);
HDC hDC = myWindow.GetDC();
// Use the DC
myWindow.ReleaseDC(hDC);
hDC = NULL;
CWindow::GetDCEx
Извлекает контекст устройства для клиентской области и разрешает параметры вырезки.
HDC GetDCEx(HRGN hRgnClip, DWORD flags) throw();
Замечания
См GetDCEx
. в пакете SDK для Windows.
CWindow::GetDescendantWindow
Находит окно потомка, указанное заданным заданным идентификатором.
HWND GetDescendantWindow(int nID) const throw();
Параметры
nID
[in] Идентификатор извлекаемого окна-потомка.
Возвращаемое значение
Дескриптор в окне потомка.
Замечания
GetDescendantWindow
выполняет поиск всего дерева дочерних окон, а не только непосредственных дочерних окон.
CWindow::GetDlgControl
Вызовите эту функцию, чтобы получить указатель на интерфейс элемента ActiveX, размещенного составным элементом управления или диалогом размещения элементов управления.
HRESULT GetDlgControl(
int nID,
REFIID iid,
void** ppCtrl) throw();
Параметры
nID
[in] Идентификатор ресурса извлекаемого элемента управления.
iid
[in] Идентификатор интерфейса, который вы хотите получить из элемента управления.
ppCtrl
[out] Указатель на интерфейс.
Возвращаемое значение
Возвращается S_OK
при успешном выполнении или любой допустимой ошибке HRESULT
. Например, функция возвращаетE_FAIL
, если элемент управления, указанный не удается найти, и возвращаетсяE_NOINTERFACE
, если элемент управления можно найти, но не поддерживает интерфейс, указанный nID
в параметреiid
.
Замечания
С помощью этого указателя можно вызывать методы в интерфейсе.
CWindow::GetDlgCtrlID
Извлекает идентификатор окна (только для дочерних окон).
int GetDlgCtrlID() const throw();
Замечания
См GetDlgCtrlID
. в пакете SDK для Windows.
CWindow::GetDlgHost
Извлекает указатель на интерфейс к контейнеру размещения элемента управления ATL.
HRESULT GetDlgHost(
int nID,
REFIID iid,
void** ppHost) throw();
Параметры
nID
[in] Идентификатор ресурса извлекаемого элемента управления.
iid
[in] Идентификатор интерфейса, который вы хотите получить из элемента управления.
ppHost
[out] Указатель на интерфейс.
Возвращаемое значение
Возвращает, S_OK
если окно, iid
указанное контейнером элементов управления, и запрошенный интерфейс можно получить. Возвращает, E_FAIL
если окно не является контейнером элементов управления или если запрошенный интерфейс не удалось получить. Если не удалось найти окно с указанным идентификатором, возвращаемое значение равно HRESULT_FROM_WIN32(ERROR_CONTROL_ID_NOT_FOUND)
.
Замечания
С помощью этого указателя можно вызывать методы в интерфейсе.
CWindow::GetDlgItem
Извлекает указанное дочернее окно.
HWND GetDlgItem(int nID) const throw();
Замечания
См. раздел GetDlgItem в пакете SDK для Windows.
CWindow::GetDlgItemInt
Преобразует текст элемента управления в целое число.
UINT GetDlgItemInt(
int nID,
BOOL* lpTrans = NULL,
BOOL bSigned = TRUE) const throw();
Замечания
См GetDlgItemInt
. в пакете SDK для Windows.
CWindow::GetDlgItemText
Извлекает текст элемента управления.
UINT GetDlgItemText(
int nID,
LPTSTR lpStr,
int nMaxCount) const throw();
BOOL GetDlgItemText(
int nID,
BSTR& bstrText) const throw();
Замечания
Дополнительные сведения см GetDlgItemText
. в пакете SDK для Windows.
Вторая версия этого метода позволяет скопировать текст элемента управления в объект BSTR
. Эта версия возвращается TRUE
, если текст успешно скопирован; в противном случае FALSE
.
CWindow::GetExStyle
Извлекает расширенные стили окон окна.
DWORD GetExStyle() const throw();
Возвращаемое значение
Расширенные стили окна.
Замечания
Чтобы получить обычные стили окон, вызовите GetStyle
.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::GetExStyle() to retrieve the extended styles of
//the window
CWindow myWindow;
myWindow.Attach(hWnd);
DWORD dwExStyles = myWindow.GetExStyle();
CWindow::GetFont
Извлекает текущий шрифт окна, отправив WM_GETFONT
сообщение в окно.
HFONT GetFont() const throw();
Возвращаемое значение
Дескриптор шрифта.
CWindow::GetHotKey
Определяет горячий ключ, связанный с окном WM_GETHOTKEY
, отправляя сообщение.
DWORD GetHotKey() const throw();
Возвращаемое значение
Код виртуального ключа и модификаторы для горячего ключа, связанного с окном. Список возможных модификаторов см WM_GETHOTKEY
. в пакете SDK для Windows. Список стандартных кодов виртуальных ключей см. в разделе Winuser.h
.
CWindow::GetIcon
Извлекает дескриптор на значок большого или маленького окна.
HICON GetIcon(BOOL bBigIcon = TRUE) const;
Параметры
bBigIcon
[in] Если TRUE
(значение по умолчанию) метод возвращает большой значок. В противном случае возвращается маленький значок.
Возвращаемое значение
Дескриптор значка.
Замечания
GetIcon
отправляет WM_GETICON
сообщение в окно.
CWindow::GetLastActivePopup
Извлекает последнее активное всплывающее окно.
HWND GetLastActivePopup() const throw();
Замечания
См GetLastActivePopup
. в пакете SDK для Windows.
CWindow::GetMenu
Извлекает меню окна.
HMENU GetMenu() const throw();
Замечания
См GetMenu
. в пакете SDK для Windows.
CWindow::GetNextDlgGroupItem
Извлекает предыдущий или следующий элемент управления в группе элементов управления.
HWND GetNextDlgGroupItem(HWND hWndCtl, BOOL bPrevious = FALSE) const throw();
Замечания
См GetNextDlgGroupItem
. в пакете SDK для Windows.
CWindow::GetNextDlgTabItem
Извлекает предыдущий или следующий элемент управления, имеющий WS_TABSTOP
стиль.
HWND GetNextDlgTabItem(HWND hWndCtl, BOOL bPrevious = FALSE) const throw();
Замечания
См GetNextDlgTabItem
. в пакете SDK для Windows.
CWindow::GetParent
Извлекает немедленное родительское окно.
HWND GetParent() const throw();
Замечания
См GetParent
. в пакете SDK для Windows.
Пример
// The following example attaches a HWND to the CWindow object
// and calls CWindow::GetParent to find out the parent
// window of the window wrapped by CWindow object.
CWindow myWindow;
myWindow.Attach(hWnd);
HWND hWndParent = myWindow.GetParent();
CWindow::GetScrollInfo
Извлекает параметры полосы прокрутки.
BOOL GetScrollInfo(int nBar, LPSCROLLINFO lpScrollInfo) throw();
Замечания
См GetScrollInfo
. в пакете SDK для Windows.
CWindow::GetScrollPos
Извлекает позицию поля прокрутки.
int GetScrollPos(int nBar) const throw();
Замечания
См GetScrollPos
. в пакете SDK для Windows.
CWindow::GetScrollRange
Извлекает диапазон полосы прокрутки.
BOOL GetScrollRange(
int nBar,
LPINT lpMinPos,
LPINT lpMaxPos) const throw();
Замечания
См GetScrollRange
. в пакете SDK для Windows.
CWindow::GetStyle
Извлекает стили окон окна.
DWORD GetStyle() const throw();
Возвращаемое значение
Стили окна.
Замечания
Чтобы получить расширенные стили окон, вызовите GetExStyle
.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::GetStyle() to retrieve the styles of the window
CWindow myWindow;
myWindow.Attach(hWnd);
DWORD dwStyles = myWindow.GetStyle();
CWindow::GetSystemMenu
Создает копию системного меню для изменения.
HMENU GetSystemMenu(BOOL bRevert) const throw();
Замечания
См GetSystemMenu
. в пакете SDK для Windows.
CWindow::GetTopLevelParent
Извлекает родительское окно верхнего уровня окна.
HWND GetTopLevelParent() const throw();
Возвращаемое значение
Дескриптор родительского окна верхнего уровня.
CWindow::GetTopLevelWindow
Извлекает окно родительского или владельца верхнего уровня окна.
HWND GetTopLevelWindow() const throw();
Возвращаемое значение
Дескриптор окна владельца верхнего уровня.
CWindow::GetTopWindow
Извлекает дочернее окно верхнего уровня.
HWND GetTopWindow() const throw();
Замечания
См GetTopWindow
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::GetTopWindow() to get the top-level child window
CWindow myWindow;
myWindow.Attach(hWnd);
HWND hWndFavoriteChild = myWindow.GetTopWindow();
CWindow::GetUpdateRect
Извлекает координаты наименьшего прямоугольника, в который полностью входит область обновления .
BOOL GetUpdateRect(LPRECT lpRect, BOOL bErase = FALSE) throw();
Замечания
См GetUpdateRect
. в пакете SDK для Windows.
CWindow::GetUpdateRgn
Извлекает регион обновления и копирует его в указанный регион.
int GetUpdateRgn(HRGN hRgn, BOOL bErase = FALSE) throw();
Замечания
См GetUpdateRgn
. в пакете SDK для Windows.
CWindow::GetWindow
Извлекает указанное окно.
HWND GetWindow(UINT nCmd) const throw();
Замечания
См GetWindow
. в пакете SDK для Windows.
CWindow::GetWindowContextHelpId
Извлекает идентификатор контекста справки окна.
DWORD GetWindowContextHelpId() const throw();
Замечания
См GetWindowContextHelpId
. в пакете SDK для Windows.
CWindow::GetWindowDC
Извлекает контекст устройства для всего окна.
HDC GetWindowDC() throw();
Замечания
См GetWindowDC
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::GetWindowDC() to retrieve the DC of the entire window
CWindow myWindow;
myWindow.Attach(hWnd);
HDC hDC = myWindow.GetWindowDC();
CWindow::GetWindowLong
Извлекает 32-разрядное значение с указанным смещением в дополнительную память окна.
LONG GetWindowLong(int nIndex) const throw();
Замечания
См GetWindowLong
. в пакете SDK для Windows.
Примечание.
Чтобы написать код, совместимый с 32-разрядными и 64-разрядными версиями Windows, используйте CWindow::GetWindowLongPtr
.
CWindow::GetWindowLongPtr
Извлекает сведения об указанном окне, включая значение с указанным смещением в дополнительную память окна.
LONG_PTR GetWindowLongPtr(int nIndex) const throw();
Замечания
Дополнительные сведения см GetWindowLongPtr
. в пакете SDK для Windows.
Если вы извлекаете указатель или дескриптор, эта функция заменяет CWindow::GetWindowLong
метод.
Примечание.
Указатели и дескрипторы — это 32-разрядные 32-разрядные оси Windows и 64-разрядные устройства в 64-разрядной версии Windows.
Чтобы написать код, совместимый с 32-разрядными и 64-разрядными версиями Windows, используйте CWindow::GetWindowLongPtr
.
CWindow::GetWindowPlacement
Извлекает состояние и позиции отображения.
BOOL GetWindowPlacement(WINDOWPLACEMENT FAR* lpwndpl) const throw();
Замечания
См GetWindowPlacement
. в пакете SDK для Windows.
CWindow::GetWindowProcessID
Извлекает идентификатор процесса, создавшего окно.
DWORD GetWindowProcessID() throw();
Замечания
См GetWindowThreadProcessID
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::GetWindowProcessID() to retrieve the id of the
//process that created the window
CWindow myWindow;
myWindow.Attach(hWnd);
DWORD dwID = myWindow.GetWindowProcessID();
CWindow::GetWindowRect
Извлекает ограничивающие размеры окна.
BOOL GetWindowRect(LPRECT lpRect) const throw();
Замечания
См GetWindowRect
. в пакете SDK для Windows.
CWindow::GetWindowRgn
Получает копию области окна окна.
int GetWindowRgn(HRGN hRgn) throw();
Замечания
См GetWindowRgn
. в пакете SDK для Windows.
CWindow::GetWindowText
Извлекает текст окна.
int GetWindowText(LPTSTR lpszStringBuf, int nMaxCount) const throw();
BOOL GetWindowText(BSTR& bstrText) throw();
int GetWindowText(CSimpleString& strText) const;
Параметры
lpszStringBuf
Буфер, в который записывается текст окна.
nMaxCount
Размер буфера в символах; соответствует также максимальному числу символов для записи.
bstrText
Объект BSTR
для хранения текста окна.
strText
Объект CString
для хранения текста окна.
Возвращаемое значение
Если текст успешно скопирован, возвращаемое значение равно TRUE
; в противном случае возвращается FALSE
значение.
Замечания
См GetWindowText
. в пакете SDK для Windows.
Вторая версия этого метода позволяет хранить текст в ; BSTR
третья версия позволяет хранить результат в CString
формате , так как CSimpleString
является базовым классом CString
.
CWindow::GetWindowTextLength
Извлекает длину текста окна.
int GetWindowTextLength() const throw();
Замечания
См GetWindowTextLength
. в пакете SDK для Windows.
CWindow::GetWindowThreadID
Извлекает идентификатор потока, создавшего указанное окно.
DWORD GetWindowThreadID() throw();
Замечания
См GetWindowThreadProcessID
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::GetWindowThreadID() to retrieve the id of the thread
//that created the window
CWindow myWindow;
myWindow.Attach(hWnd);
DWORD dwID = myWindow.GetWindowThreadID();
CWindow::GetWindowWord
Извлекает 16-разрядное значение с указанным смещением в дополнительную память окна.
WORD GetWindowWord(int nIndex) const throw();
Замечания
См GetWindowLong
. в пакете SDK для Windows.
CWindow::GotoDlgCtrl
Задает фокус клавиатуры элементу управления в диалоговом окне.
void GotoDlgCtrl(HWND hWndCtrl) const throw();
Замечания
См WM_NEXTDLGCTL
. в пакете SDK для Windows.
CWindow::HideCaret
Скрывает системный уход.
BOOL HideCaret() throw();
Замечания
См HideCaret
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::HideCaret() to hide the caret of the window owning
//the caret
CWindow myWindow;
myWindow.Attach(hWndEdit);
myWindow.HideCaret();
CWindow::HiliteMenuItem
Выделяет или удаляет выделение из элемента меню верхнего уровня.
BOOL HiliteMenuItem(
HMENU hMenu,
UINT uHiliteItem,
UINT uHilite) throw();
Замечания
См HiliteMenuItem
. в пакете SDK для Windows.
CWindow::Invalidate
Делает недействительной всю клиентскую область.
BOOL Invalidate(BOOL bErase = TRUE) throw();
Замечания
См InvalidateRect
. в пакете SDK для Windows.
Передает NULL
RECT
параметр InvalidateRect
функции Win32.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::Invalidate() to invalidate the entire client area
CWindow myWindow;
myWindow.Attach(hWnd);
myWindow.Invalidate();
CWindow::InvalidateRect
Отменяет область клиента в указанном прямоугольнике.
BOOL InvalidateRect(LPCRECT lpRect, BOOL bErase = TRUE) throw();
Замечания
См InvalidateRect
. в пакете SDK для Windows.
CWindow::InvalidateRgn
Отменяет область клиента в указанном регионе.
void InvalidateRgn(HRGN hRgn, BOOL bErase = TRUE) throw();
Замечания
Дополнительные сведения см InvalidateRgn
. в пакете SDK для Windows.
Задает тип возвращаемого void
InvalidateRgn
значения, а функция Win32 всегда возвращается TRUE
.
CWindow::IsChild
Определяет, является ли указанное окно дочерним окном.
BOOL IsChild(const HWND hWnd) const throw();
Замечания
См IsChild
. в пакете SDK для Windows.
CWindow::IsDialogMessage
Определяет, предназначено ли сообщение для указанного диалогового окна.
BOOL IsDialogMessage(LPMSG lpMsg) throw();
Замечания
См IsDialogMessage
. в пакете SDK для Windows.
CWindow::IsDlgButtonChecked
Определяет состояние проверки кнопки.
UINT IsDlgButtonChecked(int nIDButton) const throw();
Замечания
См IsDlgButtonChecked
. в пакете SDK для Windows.
CWindow::IsIconic
Определяет, свернуто ли окно.
BOOL IsIconic() const throw();
Замечания
См IsIconic
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::IsIconic() to determine if the window is minimized
CWindow myWindow;
myWindow.Attach(hWnd);
BOOL bIconic = myWindow.IsIconic();
CWindow::IsParentDialog
Определяет, является ли родительское окно элемента управления диалоговым окном.
BOOL IsParentDialog() throw();
Возвращаемое значение
Возвращает, TRUE
если родительское окно является диалогом, FALSE
в противном случае.
CWindow::IsWindow
Определяет, идентифицирует ли указанный дескриптор окна.
BOOL IsWindow() throw();
Замечания
См IsWindow
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::IsWindow() to verify if the HWND corresponds
//to an existing window
CWindow myWindow;
myWindow.Attach(hWnd);
BOOL bWindow = myWindow.IsWindow();
CWindow::IsWindowEnabled
Определяет, включено ли окно для входных данных.
BOOL IsWindowEnabled() const throw();
Замечания
См IsWindowEnabled
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::IsWindowEnabled() to verify if the window is enabled
//for receiving input
CWindow myWindow;
myWindow.Attach(hWnd);
BOOL bEnabled = myWindow.IsWindowEnabled();
CWindow::IsWindowVisible
Определяет состояние видимости окна.
BOOL IsWindowVisible() const throw();
Замечания
См IsWindowVisible
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::IsWindowVisible() to determine the visibility state
//of the window
CWindow myWindow;
myWindow.Attach(hWnd);
BOOL bVisible = myWindow.IsWindowVisible();
CWindow::IsWindowUnicode
Определяет, является ли указанное окно собственным окном Юникода.
BOOL IsWindowUnicode() throw();
Замечания
См IsWindowUnicode
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::IsWindowUnicode() to determine if the window is a
//UNICODE window or an ANSI one.
CWindow myWindow;
myWindow.Attach(hWnd);
BOOL bUnicode = myWindow.IsWindowUnicode();
CWindow::IsZoomed
Определяет, развернуто ли окно.
BOOL IsZoomed() const throw();
Замечания
См IsZoomed
. в пакете SDK для Windows.
CWindow::KillTimer
Уничтожает событие таймера, созданное с помощью CWindow::SetTimer
.
BOOL KillTimer(UINT nIDEvent) throw();
Замечания
См KillTimer
. в пакете SDK для Windows.
CWindow::LockWindowUpdate
Отключает или включает рисование в окне, вызвав LockWindowUpdate
функцию Win32.
BOOL LockWindowUpdate(BOOL bLock = TRUE) throw();
Параметры
bLock
[in] Если TRUE
(значение по умолчанию), окно будет заблокировано. В противном случае она будет разблокирована.
Возвращаемое значение
TRUE
Значение , если окно успешно заблокировано; FALSE
в противном случае .
Замечания
В bLock
противном TRUE
случае этот метод передается m_hWnd
в функцию Win32; в противном случае она передается NULL
.
CWindow::m_hWnd
Содержит дескриптор окна, связанного CWindow
с объектом.
HWND m_hWnd throw() throw();
CWindow::MapWindowPoints
Преобразует набор точек из координатного пространства окна в координатное пространство другого окна.
int MapWindowPoints(
HWND hWndTo,
LPPOINT lpPoint,
UINT nCount) const throw();
int MapWindowPoints(
HWND hWndTo,
LPRECT lpRect) const throw();
Замечания
См MapWindowPoints
. в пакете SDK для Windows.
Вторая версия этого метода позволяет преобразовать координаты RECT
структуры.
CWindow::MessageBox
Отображает окно сообщения.
int MessageBox(
LPCTSTR lpszText,
LPCTSTR lpszCaption = NULL,
UINT nType = MB_OK) throw();
Замечания
См MessageBox
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::MessageBox() to pop up a Windows message box
CWindow myWindow;
myWindow.Attach(hWnd);
myWindow.MessageBox(_T("Hello World"));
CWindow::ModifyStyle
Изменяет стили CWindow
окон объекта.
BOOL ModifyStyle(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags = 0) throw();
Параметры
dwRemove
[in] Указывает стили окна, которые необходимо удалить во время изменения стиля.
dwAdd
[in] Указывает стили окна, добавляемые во время изменения стиля.
nFlags
[in] Флаги размещения окна. Список возможных значений см SetWindowPos
. в функции в пакете SDK для Windows.
Возвращаемое значение
TRUE
Значение FALSEв противном случае .
Замечания
Стили, которые нужно добавить или удалить, можно объединить с помощью побитового оператора "or" (|
). См. функцию CreateWindow
в windows SDKfor о доступных стилях окон.
Если nFlags
это ненулевое значение, ModifyStyle
вызывает функцию SetWindowPos
Win32 и перерисовывает окно, объединяя nFlags
следующие четыре флага:
SWP_NOSIZE
Сохраняет текущий размер.SWP_NOMOVE
Сохраняет текущую позицию.SWP_NOZORDER
Сохраняет текущий порядок Z.SWP_NOACTIVATE
Не активирует окно.
Чтобы изменить расширенные стили окна, вызовите ModifyStyleEx
.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::ModifyStyle() to add and remove the window styles
CWindow myWindow;
myWindow.Attach(hWnd);
//The following line removes the WS_CLIPCHILDREN style from the
//window and adds the WS_CAPTION style to the window
myWindow.ModifyStyle(WS_CLIPCHILDREN, WS_CAPTION);
CWindow::ModifyStyleEx
Изменяет расширенные стили CWindow
окон объекта.
BOOL ModifyStyleEx(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags = 0) throw();
Параметры
dwRemove
[in] Указывает расширенные стили, которые необходимо удалить во время изменения стиля.
dwAdd
[in] Указывает расширенные стили, добавляемые во время изменения стиля.
nFlags
[in] Флаги размещения окна. Список возможных значений см SetWindowPos
. в функции в пакете SDK для Windows.
Возвращаемое значение
TRUE
Значение FALSEв противном случае .
Замечания
Стили, которые нужно добавить или удалить, можно объединить с помощью побитового оператора "or" (|
). CreateWindowEx
Сведения о доступных расширенных стилях см. в пакете SDK для Windows.
Если nFlags
это ненулевое значение, ModifyStyleEx
вызывает функцию SetWindowPos
Win32 и перерисовывает окно, объединяя nFlags
следующие четыре флага:
SWP_NOSIZE
Сохраняет текущий размер.SWP_NOMOVE
Сохраняет текущую позицию.SWP_NOZORDER
Сохраняет текущий порядок Z.SWP_NOACTIVATE
Не активирует окно.
Чтобы изменить окна с помощью обычных стилей окон, вызовите ModifyStyle
.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::ModifyStyleEx() to add and remove the extended
//window styles
CWindow myWindow;
myWindow.Attach(hWnd);
//The following line removes WS_EX_CONTEXTHELP extended style from
//the window and adds WS_EX_TOOLWINDOW extended style to the window
myWindow.ModifyStyleEx(WS_EX_CONTEXTHELP, WS_EX_TOOLWINDOW);
CWindow::MoveWindow
Изменяет размер и положение окна.
BOOL MoveWindow(
int x,
int y,
int nWidth,
int nHeight,
BOOL bRepaint = TRUE) throw();
BOOL MoveWindow(
LPCRECT lpRect,
BOOL bRepaint = TRUE) throw();
Замечания
Для объекта x
y
окна верхнего уровня параметры относятся к левому верхнему углу экрана. Для дочернего объекта окна они относятся к левому верхнему углу клиентской области родительского окна.
Вторая версия этого метода использует структуру RECT
для определения новой позиции, ширины и высоты окна.
CWindow::NextDlgCtrl
Задает фокус клавиатуры следующим элементом управления в диалоговом окне.
void NextDlgCtrl() const throw();
Замечания
См WM_NEXTDLGCTL
. в пакете SDK для Windows.
CWindow::OpenClipboard
Открывает буфер обмена.
BOOL OpenClipboard() throw();
Замечания
См OpenClipboard
. в пакете SDK для Windows.
CWindow::operator HWND
Преобразует объект в CWindow
объект HWND
.
operator HWND() const throw();
CWindow::operator =
HWND
CWindow
Назначает объекту, задав m_hWnd
элементу hWnd
значение .
CWindow& operator= (HWND hWnd) throw();
CWindow::PostMessage
Помещает сообщение в очередь сообщений, связанную с потоком, создающим окно.
BOOL PostMessage(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0) throw();
Замечания
См PostMessage
. в пакете SDK для Windows.
Возвращается без ожидания обработки сообщения потоком.
Пример
//The following example attaches an HWND to the CWindow object and
//posts a WM_PAINT message to the Window wrapped by the CWindow object
//using CWindow::PostMessage() with the default values of WPARAM and
//LPARAM
CWindow myWindow;
myWindow.Attach(hWnd);
myWindow.PostMessage(WM_PAINT);
CWindow::PrevDlgCtrl
Задает фокус клавиатуры предыдущему элементу управления в диалоговом окне.
void PrevDlgCtrl() const throw();
Замечания
См WM_NEXTDLGCTL
. в пакете SDK для Windows.
CWindow::Print
WM_PRINT
Отправляет сообщение в окно, чтобы запросить, что он рисует себя в указанном контексте устройства.
void Print(HDC hDC, DWORD dwFlags) const throw();
Параметры
hDC
[in] Дескриптор контекста устройства.
dwFlags
[in] Задает параметры рисования. Можно объединить один или несколько следующих флагов:
PRF_CHECKVISIBLE
Нарисуйте окно только в том случае, если оно отображается.PRF_CHILDREN
Рисование всех видимых дочерних окон.PRF_CLIENT
Рисование клиентской области окна.PRF_ERASEBKGND
Удалите фон перед рисованием окна.PRF_NONCLIENT
Рисование не клиентской области окна.PRF_OWNED
Рисование всех принадлежащих окон.
CWindow::PrintClient
WM_PRINTCLIENT
Отправляет сообщение в окно, чтобы запросить, что он рисует свою клиентская область в указанном контексте устройства.
void PrintClient(HDC hDC, DWORD dwFlags) const throw();
Параметры
hDC
[in] Дескриптор контекста устройства.
dwFlags
[in] Задает параметры рисования. Можно объединить один или несколько следующих флагов:
PRF_CHECKVISIBLE
Нарисуйте окно только в том случае, если оно отображается.PRF_CHILDREN
Рисование всех видимых дочерних окон.PRF_CLIENT
Рисование клиентской области окна.PRF_ERASEBKGND
Удалите фон перед рисованием окна.PRF_NONCLIENT
Рисование не клиентской области окна.PRF_OWNED
Рисование всех принадлежащих окон.
CWindow::rcDefault
Содержит измерения окна по умолчанию.
static RECT rcDefault;
CWindow::RedrawWindow
Обновляет указанный прямоугольник или регион в клиентской области.
BOOL RedrawWindow(
LPCRECT lpRectUpdate = NULL,
HRGN hRgnUpdate = NULL,
UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);
throw()
Замечания
См RedrawWindow
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::RedrawWindow() to update the entire window using the
//default arguments
CWindow myWindow;
myWindow.Attach(hWnd);
BOOL bRedrawn = myWindow.RedrawWindow();
CWindow::ReleaseDC
Освобождает контекст устройства.
int ReleaseDC(HDC hDC);
Замечания
См ReleaseDC
. в пакете SDK для Windows.
Пример
// The following example attaches a HWND to the CWindow object,
// calls CWindow::GetDC to retrieve the DC of the client
// area of the window wrapped by CWindow Object, and calls
// CWindow::ReleaseDC to release the DC.
CWindow myWindow;
myWindow.Attach(hWnd);
HDC hDC = myWindow.GetDC();
// Use the DC
myWindow.ReleaseDC(hDC);
hDC = NULL;
CWindow::ResizeClient
Изменяет размер окна до указанного размера клиентской области.
BOOL ResizeClient(
int nWidth,
int nHeight,
BOOL bRedraw = FALSE) throw();
Параметры
nWidth
Новая ширина окна в пикселях.
nHeight
Новая высота окна в пикселях.
bRedraw
Флаг, указывающий, следует ли перерисовывать изменения. FALSE
Значение по умолчанию, указывающее, что окно не перерисовывает изменения.
CWindow::ScreenToClient
Преобразует координаты экрана в координаты клиента.
BOOL ScreenToClient(LPPOINT lpPoint) const throw();
BOOL ScreenToClient(LPRECT lpRect) const throw();
Замечания
См ScreenToClient
. в пакете SDK для Windows.
Вторая версия этого метода позволяет преобразовать координаты RECT
структуры.
CWindow::ScrollWindow
Прокручивает указанную клиентская область.
BOOL ScrollWindow(
int xAmount,
int yAmount,
LPCRECT lpRect = NULL,
LPCRECT lpClipRect = NULL) throw();
Замечания
См ScrollWindow
. в пакете SDK для Windows.
CWindow::ScrollWindowEx
Прокручивает указанную клиентская область с дополнительными функциями.
int ScrollWindowEx(
int dx,
int dy,
LPCRECT lpRectScroll,
LPCRECT lpRectClip,
HRGN hRgnUpdate,
LPRECT lpRectUpdate,
UINT flags) throw();
Замечания
См ScrollWindowEx
. в пакете SDK для Windows.
CWindow::SendDlgItemMessage
Отправляет сообщение в элемент управления.
LRESULT SendDlgItemMessage(
int nID,
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0) throw();
Замечания
См SendDlgItemMessage
. в пакете SDK для Windows.
CWindow::SendMessage
Отправляет сообщение в окно и не возвращается, пока процедура окна не обработала сообщение.
LRESULT SendMessage(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0) throw();
static LRESULT SendMessage(
HWND hWnd,
UINT message,
WPARAM wParam,
LPARAM lParam) throw();
Замечания
См SendMessage
. в пакете SDK для Windows.
Пример
// The following example attaches a HWND to the CWindow
// object and sends a WM_PAINT message to the window
// wrapped by CWindow object using CWindow::SendMessage.
CWindow myWindow;
myWindow.Attach(hWnd);
myWindow.SendMessage(WM_PAINT, 0L, 0L);
CWindow::SendMessageToDescendants
Отправляет указанное сообщение всем непосредственным дочерним элементам CWindow
объекта.
void SendMessageToDescendants(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0,
BOOL bDeep = TRUE) throw();
Параметры
message
[in] Отправленное сообщение.
wParam
[in] Дополнительные сведения о сообщении.
lParam
[in] Дополнительные сведения о сообщении.
bDeep
[in] Если TRUE
(значение по умолчанию), сообщение будет отправлено во все окна потомков; в противном случае оно будет отправлено только в непосредственные дочерние окна.
Замечания
В противном bDeep
TRUE
случае сообщение отправляется во все остальные окна потомков.
CWindow::SendNotifyMessage
Отправляет сообщение в окно.
BOOL SendNotifyMessage(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0) throw();
Замечания
См SendNotifyMessage
. в пакете SDK для Windows.
Если окно было создано вызывающим потоком, SendNotifyMessage
не возвращается, пока процедура окна не обработала сообщение. В противном случае он возвращается немедленно.
CWindow::SetActiveWindow
Активирует окно.
HWND SetActiveWindow() throw();
Замечания
См SetActiveWindow
. в пакете SDK для Windows.
Пример
// The following example attaches a HWND to the CWindow object
// and sets the window as an active window by calling
// CWindow::SetActiveWindow which returns the HWND of the
// previously active window.
CWindow myWindow;
myWindow.Attach(hWnd);
HWND hWndPrev = myWindow.SetActiveWindow();
CWindow::SetCapture
Отправляет все последующие входные данные мыши в окно.
HWND SetCapture() throw();
Замечания
См SetCapture
. в пакете SDK для Windows.
CWindow::SetClipboardViewer
Добавляет окно в цепочку просмотра буфера обмена.
HWND SetClipboardViewer() throw();
Замечания
См SetClipboardViewer
. в пакете SDK для Windows.
CWindow::SetDlgCtrlID
Задает идентификатор окна указанным значением.
int SetDlgCtrlID(int nID) throw();
Параметры
nID
[in] Новое значение, заданное для идентификатора окна.
Возвращаемое значение
При успешном выполнении предыдущего идентификатора окна; в противном случае — 0.
CWindow::SetDlgItemInt
Изменяет текст элемента управления в строковое представление целочисленного значения.
BOOL SetDlgItemInt(
int nID,
UINT nValue,
BOOL bSigned = TRUE) throw();
Замечания
См SetDlgItemInt
. в пакете SDK для Windows.
CWindow::SetDlgItemText
Изменяет текст элемента управления.
BOOL SetDlgItemText(int nID, LPCTSTR lpszString) throw();
Замечания
См SetDlgItemText
. в пакете SDK для Windows.
CWindow::SetFocus
Задает фокус ввода в окно.
HWND SetFocus() throw();
Замечания
См SetFocus
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::SetFocus() to set the input focus
CWindow myWindow;
myWindow.Attach(hWnd);
HWND hWndLeftFocus = myWindow.SetFocus();
CWindow::SetFont
Изменяет текущий шрифт окна, отправив WM_SETFONT
сообщение в окно.
void SetFont(HFONT hFont, BOOL bRedraw = TRUE) throw();
Параметры
hFont
[in] Дескриптор нового шрифта.
bRedraw
[in] Если TRUE
(значение по умолчанию), окно будет перезабрано. В противном случае это не так.
CWindow::SetHotKey
Связывает горячий ключ с окном, отправив WM_SETHOTKEY
сообщение.
int SetHotKey(WORD wVirtualKeyCode, WORD wModifiers) throw();
Параметры
wVirtualKeyCode
[in] Код виртуального ключа горячего ключа. Список стандартных кодов виртуальных ключей см. в разделе Winuser.h
.
wModifiers
[in] Модификаторы горячего ключа. Список возможных значений см WM_SETHOTKEY
. в пакете SDK для Windows.
Возвращаемое значение
Список возможных возвращаемых значений см WM_SETHOTKEY
. в пакете SDK для Windows.
CWindow::SetIcon
Задает большой или маленький значок окна на значок, hIcon
определенный по.
HICON SetIcon(HICON hIcon, BOOL bBigIcon = TRUE) throw();
Параметры
hIcon
[in] Дескриптор для нового значка.
bBigIcon
[in] Если TRUE
(значение по умолчанию), метод задает большой значок. В противном случае он задает небольшой значок.
Возвращаемое значение
Дескриптор предыдущего значка.
Замечания
SetIcon
отправляет WM_SETICON
сообщение в окно.
CWindow::SetMenu
Изменяет текущее меню окна.
BOOL SetMenu(HMENU hMenu) throw();
Замечания
См SetMenu
. в пакете SDK для Windows.
CWindow::SetParent
Изменяет родительское окно.
HWND SetParent(HWND hWndNewParent) throw();
Замечания
См SetParent
. в пакете SDK для Windows.
Пример
// The following example attaches a HWND to the CWindow object
// and sets the hWndParent as the parent window of the
// window wrapped by CWindow object using CWindow::SetParent.
CWindow myWindow;
myWindow.Attach(hWndChild);
HWND hWndPrevParent = myWindow.SetParent(hWndParent);
CWindow::SetRedraw
Задает или очищает флаг перерасчета, отправляя WM_SETREDRAW
сообщение в окно.
void SetRedraw(BOOL bRedraw = TRUE) throw();
Параметры
bRedraw
[in] Указывает состояние флага перерисовки. Если TRUE
(значение по умолчанию), флаг перерисовки задан; если FALSE
флаг очищается.
Замечания
Вызов SetRedraw
для разрешения перезаключаемых изменений или предотвращения перезаключаемых изменений.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::SetRedraw() to set and reset the redraw flag
CWindow myWindow;
myWindow.Attach(hWnd);
myWindow.SetRedraw(); //sets the redraw flag to TRUE
//
//
myWindow.SetRedraw(FALSE); //sets the redraw flag to FALSE
CWindow::SetScrollInfo
Задает параметры полосы прокрутки.
int SetScrollInfo(
int nBar,
LPSCROLLINFO lpScrollInfo,
BOOL bRedraw = TRUE) throw();
Замечания
См SetScrollInfo
. в пакете SDK для Windows.
CWindow::SetScrollPos
Изменяет положение поля прокрутки.
int SetScrollPos(
int nBar,
int nPos,
BOOL bRedraw = TRUE) throw();
Замечания
См SetScrollPos
. в пакете SDK для Windows.
CWindow::SetScrollRange
Изменяет диапазон полосы прокрутки.
BOOL SetScrollRange(
int nBar,
int nMinPos,
int nMaxPos,
BOOL bRedraw = TRUE) throw();
Замечания
См SetScrollRange
. в пакете SDK для Windows.
CWindow::SetTimer
Создает событие таймера.
UINT SetTimer(
UINT nIDEvent,
UINT nElapse,
void (CALLBACK* lpfnTimer)(HWND, UINT, UINT, DWORD) = NULL) throw();
Замечания
См SetTimer
. в пакете SDK для Windows.
CWindow::SetWindowContextHelpId
Задает идентификатор контекста справки окна.
BOOL SetWindowContextHelpId(DWORD dwContextHelpId) throw();
Замечания
См SetWindowContextHelpId
. в пакете SDK для Windows.
CWindow::SetWindowLong
Задает 32-разрядное значение с указанным смещением в дополнительную память окна.
LONG SetWindowLong(int nIndex, LONG dwNewLong) throw();
Замечания
См SetWindowLong
. в пакете SDK для Windows.
Примечание.
Чтобы написать код, совместимый с 32-разрядными и 64-разрядными версиями Windows, используйте CWindow::SetWindowLongPtr
.
CWindow::SetWindowLongPtr
Изменяет атрибут указанного окна, а также задает значение с указанным смещением в дополнительной памяти окна.
LONG_PTR SetWindowLongPtr(int nIndex, LONG_PTR dwNewLong) throw();
Замечания
См SetWindowLongPtr
. в пакете SDK для Windows.
Эта функция заменяет CWindow::SetWindowLong
метод. Чтобы написать код, совместимый с 32-разрядными и 64-разрядными версиями Windows, используйте CWindow::SetWindowLongPtr
.
CWindow::SetWindowPlacement
Задает состояние и позиции отображения.
BOOL SetWindowPlacement(const WINDOWPLACEMENT FAR* lpwndpl);
Замечания
См SetWindowPlacement
. в пакете SDK для Windows.
CWindow::SetWindowPos
Задает размер, позицию и порядок Z.
BOOL SetWindowPos(
HWND hWndInsertAfter,
int x,
int y,
int cx,
int cy,
UINT nFlags) throw();
BOOL SetWindowPos(
HWND hWndInsertAfter,
LPCRECT lpRect,
UINT nFlags) throw();
Замечания
См SetWindowPos
. в пакете SDK для Windows.
Вторая версия этого метода использует структуру RECT
для задания новой позиции, ширины и высоты окна.
CWindow::SetWindowRgn
Задает область окна окна.
int SetWindowRgn(HRGN hRgn, BOOL bRedraw = FALSE) throw();
Замечания
См SetWindowRgn
. в пакете SDK для Windows.
CWindow::SetWindowText
Изменяет текст окна.
BOOL SetWindowText(LPCTSTR lpszString) throw();
Замечания
См SetWindowText
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::SetWindowText() to set the new title-text of the
//window
CWindow myWindow;
myWindow.Attach(hWnd);
myWindow.SetWindowText(_T("Hello ATL"));
CWindow::SetWindowWord
Задает 16-разрядное значение с указанным смещением в дополнительную память окна.
WORD SetWindowWord(int nIndex, WORD wNewWord) throw();
Замечания
См SetWindowLong
. в пакете SDK для Windows.
CWindow::ShowCaret
Отображает системную подсказку.
BOOL ShowCaret() throw();
Замечания
См ShowCaret
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::ShowCaret() to show the caret
CWindow myWindow;
myWindow.Attach(hWnd);
myWindow.ShowCaret();
CWindow::ShowOwnedPopups
Отображает или скрывает всплывающие окна, принадлежащие окну.
BOOL ShowOwnedPopups(BOOL bShow = TRUE) throw();
Замечания
См ShowOwnedPopups
. в пакете SDK для Windows.
CWindow::ShowScrollBar
Отображает или скрывает полосу прокрутки.
BOOL ShowScrollBar(UINT nBar, BOOL bShow = TRUE) throw();
Замечания
См ShowScrollBar
. в пакете SDK для Windows.
CWindow::ShowWindow
Задает состояние отображения окна.
BOOL ShowWindow(int nCmdShow) throw();
Замечания
См ShowWindow
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::ShowWindow() to show the window in its maximized state
CWindow myWindow;
myWindow.Attach(hWnd);
myWindow.ShowWindow(SW_SHOWMAXIMIZED);
CWindow::ShowWindowAsync
Задает состояние отображения окна, созданного другим потоком.
BOOL ShowWindowAsync(int nCmdShow) throw();
Замечания
См ShowWindowAsync
. в пакете SDK для Windows.
CWindow::UpdateWindow
Обновляет клиентскую область.
BOOL UpdateWindow() throw();
Замечания
См UpdateWindow
. в пакете SDK для Windows.
Пример
//The following example attaches an HWND to the CWindow object and
//calls CWindow::UpdateWindow() to update the window
CWindow myWindow;
myWindow.Attach(hWnd);
BOOL bUpdated = myWindow.UpdateWindow();
CWindow::ValidateRect
Проверяет клиентская область в указанном прямоугольнике.
BOOL ValidateRect(LPCRECT lpRect) throw();
Замечания
См ValidateRect
. в пакете SDK для Windows.
CWindow::ValidateRgn
Проверяет клиентская область в указанном регионе.
BOOL ValidateRgn(HRGN hRgn) throw();
Замечания
См ValidateRgn
. в пакете SDK для Windows.
CWindow::WinHelp
Запускает справку Windows.
BOOL WinHelp(
LPCTSTR lpszHelp,
UINT nCmd = HELP_CONTEXT,
DWORD dwData = 0) throw();
Замечания
См WinHelp
. в пакете SDK для Windows.