次の方法で共有


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));
}

参照

関連項目

CHeaderCtrl クラス

階層図

HDM_GETOVERFLOWRECT

RECT