CHeaderCtrl::GetOverflowRect
現在のヘッダー コントロールのオーバーフロー ボタンの外接する四角形を取得します。
BOOL GetOverflowRect(
LPRECT lpRect
) const;
パラメーター
パラメーター |
説明 |
---|---|
[出力] lpRect |
外接する四角形の情報を受け取る RECT の構造体へのポインター。 |
戻り値
この関数が正常true ; それ以外 false。
解説
同時に表示できる数ヘッダー コントロールがより多くの項目が含まれているコントロールは表示されない項目にスクロール、オーバーフロー ボタンを表示できます。ヘッダー コントロールは HDS_OVERFLOW と HDF_SPLITBUTTON のスタイルがオーバーフロー ボタンを表示する必要があります。外接する四角形はオーバーフロー ボタンが表示されるときにのみオーバーフロー ボタンを囲み、あります。詳細については、「Header Control Styles」を参照してください。
このメソッドは Windows SDKで説明する HDM_GETOVERFLOWRECT のメッセージを送信します。
必要条件
ヘッダー: afxcmn.h
このコントロールは Windows Vista 以降でサポートされます。
このメソッドに関するその他の要件については、「Windows Vista コモン コントロールの作成要件」を参照してください。
使用例
次のコード例は、現在のヘッダー コントロールへのアクセスに使用される変数、m_headerCtrlを定義します。この変数は次のように使用されます。
CHeaderCtrl m_headerCtrl;
CSplitButton m_splitButton;
GetOverflowRect メソッドのコード例を次に示します。コードの前の" "で、5 列のヘッダー コントロールを作成しました。ただし列が表示されないように、列の区分線をドラッグできます。ある列が表示されていない場合は、ヘッダー コントロールは、オーバーフロー ボタンを描画します。次のコード例は、オーバーフロー ボタンの位置を囲む 3D の四角形を描画します。
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));
}