CHeaderCtrl::GetOverflowRect
Возвращает ограничивающий прямоугольник для кнопки переполнения текущего управления заголовка.
BOOL GetOverflowRect(
LPRECT lpRect
) const;
Параметры
Параметр |
Описание |
---|---|
[исходящий] lpRect |
Указатель на структуру RECT, которая получает данные ограничивающего прямоугольника. |
Возвращаемое значение
true если эта функция успешно; в противном случае – значение false.
Заметки
Если элемент управления заголовка содержит несколько элементов, чем может одновременно быть отображен элемент управления может отображаться кнопки переполнения, которая выполняет прокрутку к элементам, которые не являются видимыми.Элемент управления " заголовок должен иметь HDS_OVERFLOW стили и HDF_SPLITBUTTON для отображения кнопки переполнения.Ограничивающий прямоугольник включает кнопки переполнения и существует только для кнопки переполнения отображается.Дополнительные сведения см. в разделе Header Control Styles.
Этот метод отправляет сообщение HDM_GETOVERFLOWRECT, которое описано в Windows SDK.
Требования
заголовок: afxcmn.h
Этот элемент управления поддерживается в Windows Vista и более поздних версиях.
Дополнительные требования для этого метода см. в Требования построения для элементов управления Windows Vista общих.
Пример
В следующем примере кода определяется переменной m_headerCtrl, которая используется для доступа к текущий элемент управления заголовка.Эта переменная используется в следующем примере.
CHeaderCtrl m_headerCtrl;
CSplitButton m_splitButton;
В следующем примере кода демонстрируется применение метода GetOverflowRect.В предыдущем разделе кода, мы создали элемент управления заголовка с 5 столбцами.Однако можно перетаскивать разделители столбцов так, чтобы столбец не будет отображаться.Если некоторые столбцы не видны, элемент управления " заголовок рисует кнопку переполнения.В следующем примере кода рисует прямоугольник 3-d вокруг расположение кнопки переполнения.
void CNVC_MFC_CHeaderCtrl_s4Dlg::OnXGetoverflowrect()
{
if (controlCreated == FALSE) {
MessageBox(_T("Header control has not been created yet."));
return;
}
CRect rect;
// Get the overflow rectangle.
BOOL bRetVal = m_headerCtrl.GetOverflowRect(&rect);
// Get the device context.
CDC* pDC = m_headerCtrl.GetDC();
// Draw around the overflow rect a rectangle that has red
// left and top sides, and green right and bottom sides.
pDC->Draw3dRect(rect, RGB(255, 0, 0), RGB(0, 255, 0));
}