CHeaderCtrl::GetOverflowRect
获取当前标头控件的溢出按钮的边框。
BOOL GetOverflowRect(
LPRECT lpRect
) const;
参数
Parameter |
说明 |
---|---|
[out] 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 方法。 在代码的早期节中,我们使用五列创建了一个标头控件。 但是,您可以拖动列分隔符,以便列不可见。 如果某些列不可见,标头控件绘制溢出按钮。 下面的代码示例在溢出按钮位置的周围绘制三维矩形。
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));
}