CHeaderCtrl::GetOverflowRect
Obtient le rectangle englobant du bouton de dépassement de capacité du contrôle header actuel.
BOOL GetOverflowRect(
LPRECT lpRect
) const;
Paramètres
Paramètre |
Description |
---|---|
[out] lpRect |
Pointeur vers une structure de RECT qui accepte les informations du rectangle englobant. |
Valeur de retour
true si cette fonction est réussie ; sinon, false.
Notes
Si le contrôle header contient plus d'éléments que peut être simultanément affiché, le contrôle peut afficher un bouton de dépassement de capacité qui défile aux éléments qui ne sont pas visibles.Le contrôle header doit avoir des styles d' HDS_OVERFLOW et d' HDF_SPLITBUTTON pour afficher le bouton de dépassement de capacité.Le rectangle englobant entoure le bouton de dépassement de capacité et existe uniquement lorsque le bouton de dépassement de capacité est affiché.Pour plus d'informations, consultez Header Control Styles.
Cette méthode envoie le message de HDM_GETOVERFLOWRECT , qui est décrit dans Kit de développement logiciel Windows.
Configuration requise
en-tête : afxcmn.h
Ce contrôle est pris en charge dans Windows Vista et versions ultérieures.
Les spécifications supplémentaires pour cette méthode sont décrites dans Spécifications de génération des contrôles communs Windows Vista.
Exemple
l'exemple de code suivant définit la variable, m_headerCtrl, qui est utilisée pour accéder au contrôle header actuel.Cette variable est utilisée dans l'exemple suivant.
CHeaderCtrl m_headerCtrl;
CSplitButton m_splitButton;
L'exemple de code suivant illustre la méthode GetOverflowRect.Dans la première section de code, nous avons créé un contrôle header avec cinq colonnes.Toutefois, vous pouvez faire glisser un séparateur de colonne afin que la colonne n'est pas visible.Si certaines colonnes ne sont pas visibles, le contrôle header dessine un bouton de dépassement de capacité.L'exemple de code suivant dessine un rectangle 3D autour de l'emplacement du bouton de dépassement de capacité.
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));
}