Sdílet prostřednictvím


CWnd::OnMeasureItem

Rámci volání této funkce člena rámcem vlastníka překreslování tlačítka, pole se seznamem, seznam nebo položku nabídky při vytvoření ovládacího prvku.

afx_msg void OnMeasureItem( 
   int nIDCtl, 
   LPMEASUREITEMSTRUCT lpMeasureItemStruct  
);

Parametry

  • nIDCtl
    ID ovládacího prvku.

  • lpMeasureItemStruct
    Odkazuje MEASUREITEMSTRUCT struktura dat obsahující rozměry ovládacího prvku překreslování.

Poznámky

Potlačit toto členské funkce a vyplňte MEASUREITEMSTRUCT strukturu dat odkazuje lpMeasureItemStruct a návratu; Tato informuje Windows rozměry ovládacího prvku a umožňuje systému Windows správně zpracovat interakce uživatele s ovládacím prvkem.

Pokud je vytvořen seznam nebo pole se seznamem s LBS_OWNERDRAWVARIABLE nebo CBS_OWNERDRAWVARIABLE styl, rámci volání této funkce vlastníka pro každou položku v řízení; jinak je tato funkce volána jednou.

Systém Windows spustí volání OnMeasureItem pro majitele se seznamem a seznamů vytvořených OWNERDRAWFIXED styl před odesláním WM_INITDIALOG zprávy.Proto když vlastník přijme volání, Windows dosud nezjistila výšku a šířku písma použitého v řízení; volání funkce a výpočty, které vyžadují tyto hodnoty by mělo dojít v hlavní funkce aplikace nebo knihovna.

Pokud je položka měřenou CMenu , CListBox nebo CComboBox objektu, pak bude MeasureItem virtuální volání funkce příslušné třídy.Přepsat MeasureItem členské funkce třídy příslušný ovládací prvek pro výpočet a nastavit velikost jednotlivých položek.

OnMeasureItembude volána pouze v případě, že v době běhu je vytvořena třída ovládacího prvku nebo je vytvořen s LBS_OWNERDRAWVARIABLE nebo CBS_OWNERDRAWVARIABLE styl.Pokud je ovládací prvek editoru dialogů OnMeasureItem nebude volána.Důvodem je, že WM_MEASUREITEM zpráva je odeslána v procesu vytváření ovládacího prvku.Pokud podtřídy pomocí DDX_Control , SubclassDlgItem , nebo SubclassWindow , vytváření podtříd obvykle dojde po procesu vytváření.Proto neexistuje žádný způsob, jak zpracovat WM_MEASUREITEM zpráva ovládacího prvku v OnChildNotify funkci, což je mechanismus MFC používá k provedení ON_WM_MEASUREITEM_REFLECT.

[!POZNÁMKA]

Tato funkce člena volá framework umožňující aplikaci pro zpracování zprávy systému Windows.Parametry předané funkce odrážejí parametry přijatých v rámci byla zpráva přijata.Že provádění volání třídy base provádění této funkce bude použita parametry původně předané zprávy a není zadané parametry funkce.

Požadavky

Záhlaví: afxwin.h

Viz také

Referenční dokumentace

Třída CWnd

Graf hierarchie

CMenu::MeasureItem

CListBox::MeasureItem

CComboBox::MeasureItem

CComboBox::MeasureItem