CHeaderCtrl::GetOverflowRect
Pobiera prostokąta obwiedni bieżącego nagłówka formantu przycisku przeciążenia.
BOOL GetOverflowRect(
LPRECT lpRect
) const;
Parametry
Parametr |
Opis |
---|---|
[out]lpRect |
Wskaźnik RECT strukturę, która otrzymuje informacje prostokąta obwiedni. |
Wartość zwracana
trueJeśli ta funkcja jest pomyślne; w przeciwnym razie false.
Uwagi
Formant nagłówka zawiera więcej elementów niż można wyświetlić jednocześnie, formant można wyświetlić przycisk przepełnienia, który przewija do elementów, które nie są widoczne.Formant nagłówka musi mieć HDS_OVERFLOW i HDF_SPLITBUTTON style, aby wyświetlić przycisk przepełnienia.Prostokąta obwiedni ujmuje w przycisku przeciążenia i istnieje tylko wtedy, gdy jest wyświetlany w przycisku przeciążenia.Aby uzyskać więcej informacji, zobacz Header Control Styles.
Metoda ta wysyła HDM_GETOVERFLOWRECT wiadomości, która jest opisana w Windows SDK.
Wymagania
Nagłówek: afxcmn.h
Ten formant jest obsługiwany w Windows Vista i później.
Dodatkowe wymagania dla tej metody opisane w Budowanie wymagania dla systemu Windows Vista wspólnej kontroli.
Przykład
Poniższy przykład kodu definiuje zmienną, m_headerCtrl, czyli umożliwiające dostęp do bieżącego nagłówka formantu.Ta zmienna jest używana w następnym przykładzie.
CHeaderCtrl m_headerCtrl;
CSplitButton m_splitButton;
Poniższy przykład kodu pokazuje GetOverflowRect metody.W przypadku wcześniejszych sekcji kodu stworzyliśmy nagłówka formantu z pięciu kolumn.Jednakże można przeciągnąć separator kolumny tak, że kolumna nie jest widoczne.Jeśli niektóre kolumny nie są widoczne, nagłówka formantu rysuje przycisku przeciążenia.Poniższy kod rysuje 3D prostokąt wokół lokalizację przycisku przeciążenia.
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));
}