CW&nd::OnMeasureItemnbsp;

afx_msg nieważne OnMeasureItem ( int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct );

Parametry

nIDCtl

Identyfikator formantu.

lpMeasureItemStruct

Punkty struktury danych MEASUREITEMSTRUCT , który zawiera wymiary, kontroli rysowania przez właściciela.

Uwagi

Ramach wymaga ta funkcja Państwa w ramach właściciela przycisk rysowania przez właściciela, pole kombi, pole listy lub element menu, gdy formant nie zostanie utworzony.

Zastąpić tę funkcję Państwa i wypełnienia w strukturze danych MEASUREITEMSTRUCT wskazywanego przez lpMeasureItemStruct i z powrotem; to informuje system Windows o wymiarach kontroli i systemowi Windows poprawnie przetworzyć interakcji użytkownika z kontroli.

Jeżeli pola listy lub pola kombi jest utworzonej przy użyciu stylu LBS_OWNERDRAWVARIABLE lub CBS_OWNERDRAWVARIABLE , ramy wymaga tej funkcji właściciela dla każdego elementu sterującego; w przeciwnym przypadku ta funkcja jest wywoływana raz.

Windows inicjuje połączenie do OnMeasureItem dla właściciela pola kombi i pola listy utworzonej przy użyciu stylu OWNERDRAWFIXED przed wysłaniem WM_INITDIALOG wiadomości. W związku z tym gdy właściciel odbiera to wywołanie, Windows nie jeszcze ustalona wysokość i szerokość czcionki używanej w kontroli; wywołania funkcji i obliczeń, które wymagają tych wartości w przypadku wystąpienia w głównych funkcji aplikacji lub biblioteki.

Jeśli element mierzony jest CMenu, CListBox lub CComboBox obiektów, funkcja wirtualnego MeasureItem odpowiednie klasy jest wywoływana. Zastąpić funkcję Państwa MeasureItem klasy właściwej kontroli do obliczania i ustawić rozmiar każdego elementu.

OnMeasureItem zostanie wywołana tylko wtedy, gdy klasa formantu jest tworzony w czasie wykonywania lub jest ona tworzona stylem, LBS_OWNERDRAWVARIABLE lub CBS_OWNERDRAWVARIABLE . Jeśli formant nie zostanie utworzony przez Edytora dialogów, OnMeasureItem nie zostanie wywołany. Jest to spowodowane WM_MEASUREITEM wiadomość jest wysyłana na początku procesu tworzenia formantu. Jeśli podklasy przy użyciu DDX_Control, SubclassDlgItemlub SubclassWindow, podklasy zazwyczaj występuje po proces tworzenia. W związku z tym nie istnieje żaden sposób obsługi wiadomości WM_MEASUREITEM w funkcji OnChildNotify formantu, mechanizm, który MFC używa do wykonania ON_WM_MEASUREITEM_REFLECT.

Uwaga   Ta funkcja Państwa jest wywoływany przez ram w celu umożliwienia aplikacji do obsługi wiadomości systemu Windows. Parametry przekazane do funkcji odzwierciedlić parametry otrzymanych w ramach, kiedy wiadomość została odebrana. Jeśli zadzwonisz klasa bazowa realizacji tej funkcji, że realizacja będzie używać parametrów pierwotnie przekazanych wiadomości i nie parametry, których można dostarczyć do funkcji.

Omówienie CWnd |nbsp; Klasa członków | Wykres hierarchii

Zobacz teżnbsp;CMenu::MeasureItem, CListBox::MeasureItem, CComboBox::MeasureItem, WM_MEASUREITEM

Index