CHeaderCtrl::GetOverflowRect

Ottiene il rettangolo di delimitazione del pulsante di overflow del controllo intestazione corrente.

BOOL GetOverflowRect(
     LPRECT lpRect
) const;

Parametri

Parametro

Descrizione

[out] lpRect

Puntatore a una struttura RECT che riceve le informazioni del rettangolo di delimitazione.

Valore restituito

true se la funzione ha esito positivo; in caso contrario, false.

Note

Se il controllo intestazione contiene più elementi che possono essere visualizzate contemporaneamente, il controllo può visualizzare un pulsante di overflow che scorre gli elementi che non sono visibili.Il controllo intestazione deve disporre degli stili HDF_SPLITBUTTON e HDS_OVERFLOW per visualizzare il pulsante di overflow.Il rettangolo di delimitazione racchiude il pulsante di overflow e esiste solo quando il pulsante di overflow.Per ulteriori informazioni, vedere Header Control Styles.

Questo metodo invia il messaggio HDM_GETOVERFLOWRECT, come descritto in Windows SDK.

Requisiti

intestazione: afxcmn.h

Questo controllo è supportato in Windows Vista e versioni successive.

i requisiti aggiuntivi per questo metodo sono descritti in Requisiti di compilazione per i controlli comuni di Windows Vista.

Esempio

Nell'esempio di codice seguente viene definita la variabile, m_headerCtrl, utilizzata per accedere al controllo intestazione corrente.Questa variabile viene utilizzata nell'esempio seguente.

    CHeaderCtrl m_headerCtrl;
    CSplitButton m_splitButton;

Nell'esempio di codice riportato di seguito viene illustrato l'utilizzo del metodo GetOverflowRect.In una sezione precedente del codice, creato un controllo intestazione con cinque colonne.Tuttavia, è possibile trascinare un separatore di colonna in modo che la colonna non sia visibile.Se alcune colonne non sono visibili, il controllo intestazione viene disegnato un pulsante di overflow.Nell'esempio di codice consente di disegnare un rettangolo intorno 3D nella posizione del pulsante di overflow.

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

Vedere anche

Riferimenti

Classe di CHeaderCtrl

Grafico della gerarchia

HDM_GETOVERFLOWRECT

RECT