Udostępnij za pośrednictwem


CWnd::OnMeasureItem

Ramy wymaga tej funkcji Członkowskich w ramach właściciela przycisk rysowania przez właściciela, pole kombi, polu listy lub elementu menu podczas tworzenia formantu.

afx_msg void OnMeasureItem(
   int nIDCtl,
   LPMEASUREITEMSTRUCT lpMeasureItemStruct 
);

Parametry

  • nIDCtl
    Identyfikator formantu.

  • lpMeasureItemStruct
    Wskazuje na MEASUREITEMSTRUCT struktury danych, zawierający wymiary kontroli rysowania przez właściciela.

Uwagi

Funkcja Członkowskie zastępują i wypełnij MEASUREITEMSTRUCT struktury danych wskazywanej przez lpMeasureItemStruct i powrotu; informuje Windows wymiary kontroli i umożliwia systemowi Windows poprawnie przetworzyć interakcji użytkownika z formantem.

Jeśli pole listy lub pole kombi jest tworzone z LBS_OWNERDRAWVARIABLE lub CBS_OWNERDRAWVARIABLE stylu, w ramach wywołuje tę funkcję dla właściciela dla każdego elementu w kontroli; w przeciwnym razie funkcja ta jest wywoływana raz.

Windows inicjuje wywołanie OnMeasureItem dla właściciela pola kombi i pola list utworzonych za pomocą OWNERDRAWFIXED styl przed wysłaniem WM_INITDIALOG wiadomości.W efekcie gdy właściciel odbiera to wywołanie, systemu Windows nie jeszcze ustalona wysokość i szerokość czcionki używane w kontroli; wywołania funkcji i obliczeń wymagających wartości te powinny występować w głównych funkcji aplikacji lub biblioteki.

Jeśli element mierzony jest CMenu, CListBox lub CComboBox obiekt, a następnie MeasureItem wywoływana jest funkcja wirtualnego odpowiednie klasy.Zastąpić MeasureItem funkcji składowej klasy właściwej kontroli, aby obliczyć i ustawić rozmiar każdego elementu.

OnMeasureItemzostanie wywołana tylko wtedy, gdy klasa formantu jest tworzona w czasie wykonywania lub jest tworzony z LBS_OWNERDRAWVARIABLE lub CBS_OWNERDRAWVARIABLE styl.Jeśli formant nie zostanie utworzony przez okno dialogowe Edytor, OnMeasureItem nie zostanie wywołany.Wynika to z WM_MEASUREITEM wiadomość jest wysyłana na wczesnym etapie procesu tworzenia formantu.Jeśli podklasy za pomocą DDX_Control, SubclassDlgItem, lub SubclassWindow, podklasy zazwyczaj występuje po proces tworzenia.Dlatego nie istnieje sposób obsługi WM_MEASUREITEM wiadomości w formancie OnChildNotify funkcji mechanizmu MFC używa do wykonania, ON_WM_MEASUREITEM_REFLECT.

[!UWAGA]

Ta funkcja Członkowskich jest wywoływana przez RAM, aby umożliwić aplikacji do obsługi wiadomości dla systemu Windows.Parametry przekazywane do funkcji odzwierciedlać parametry otrzymanych w ramach, kiedy wiadomość została odebrana.Wywołanie jest klasa bazowa wykonania tej funkcji, że realizacja zostanie użyte parametry pierwotnie przekazywane wiadomości i nie podane parametry funkcji.

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CWnd

Wykres hierarchii

CMenu::MeasureItem

CListBox::MeasureItem

CComboBox::MeasureItem

CComboBox::MeasureItem