CW&nd::OnMeasureItemnbsp;

afx_msg void OnMeasureItem ( int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct );

Parametreleri

nIDCtl

Denetimin kimliği.

lpMeasureItemStruct

Puan sahibi tarafından çizilen denetimi boyutları içeren bir MEASUREITEMSTRUCT veri yapısı.

Açıklamalar

Denetim oluşturulduğunda çerçevesinde bu üye işlev çerçeve tarafından sahibi sahibi-Çiz düğmesini, açılan kutu, liste kutusu veya menü öğesini çağırır.

Bu üye işlevi geçersiz kılabilir ve lpMeasureItemStruct ve dönüş işaret MEASUREITEMSTRUCT veri yapısı doldurun; Bu, Windows denetiminin boyutları bildirir ve kullanıcı etkileşimi ile denetimi doğru şekilde işlemek Windows sağlar.

Liste kutusu veya açılan kutu LBS_OWNERDRAWVARIABLE ya da CBS_OWNERDRAWVARIABLE stil oluşturduysanız, çerçeve sahibinin denetiminde her öğe için bu işlevi çağırır; Aksi durumda bu işlevi bir kez denir.

Windows OnMeasureItem çağrısı sahibi göndermeden önce OWNERDRAWFIXED stili ile oluşturulan liste kutuları ve açılan kutular için başlattığı WM_INITDIALOG mesaj. Sahibi bu çağrı aldığında, bunun sonucunda, Windows henüz denetimde kullanılan yazı tipi genişliği ve yüksekliği belirledi değil; işlev çağrıları ve bu değerler gerektiren hesaplamalar uygulamanın veya kütüphane ana fonksiyonu oluşması.

Ölçülen madde, CMenu, CListBox veya CComboBox nesnesi ise, uygun sınıf MeasureItem sanal fonksiyonu denir. MeasureItem üye işlevi hesaplamak ve her öğenin boyutunu ayarlamak için uygun denetim sınıfı geçersiz kılma.

OnMeasureItem , yalnızca, çalışma zamanında denetim sınıfı oluşturulur veya LBS_OWNERDRAWVARIABLE ya da CBS_OWNERDRAWVARIABLE tarzı ile oluşturulur çağrılacaktır. İletişim Editör tarafından denetimi oluşturursanız, OnMeasureItem çağrılmaz. Bunun nedeni, WM_MEASUREITEM ileti oluşturma işleminin başında denetimin gönderilir. Eğer DDX_Control, SubclassDlgItemya da SubclassWindow, subclassing kullanarak alt oluşturma işleminden sonra genellikle oluşur. Bu nedenle, mfc ON_WM_MEASUREITEM_REFLECT uygulamak için kullandığı mekanizma olan, denetimin OnChildNotify işlevini WM_MEASUREITEM iletiyi işlemek için hiçbir şekilde.

&Notnbsp;  Bu üye işlevi, uygulamanız Windows ileti işlemeye izin vermek için çerçeve tarafından çağrılır. Sizin işleve geçirilen parametreleri ileti alındığında çerçeve tarafından alınan parametreler yansıtır. Base sınıfı uygulaması bu işlevi çağırıyorsanız, bu uygulama ilk mesajı ve değil, sağladığınız parametreleri ile işleve geçirilen parametreleri kullanır.

CWnd genel bakış |nbsp; Sınıf üyeleri | Hiyerarşi çizelgesi

Ayrıca bkz:nbsp;CMenu::MeasureItem, CListBox::MeasureItem, CComboBox::MeasureItem, WM_MEASUREITEM

Index