在 MFC 中,CListBox 类确实有一个 MeasureItem 方法,但通常用于 CListBox 控件的 Owner Draw 功能,以便自定义每个项的绘制大小。

以下是 CListBox::MeasureItem 方法的基本语法:
void MeasureItem(
   LPMEASUREITEMSTRUCT lpMeasureItemStruct
);

在使用 Owner Draw 功能时,你可能需要重写 MeasureItem 方法,以便在绘制每个项之前告诉系统每个项的大小。

示例用法:
class CMyListBox : public CListBox
{
public:
    virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
};

void CMyListBox::MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct)
{
    // 设置每个项的高度为 20 像素
    lpMeasureItemStruct->itemHeight = 20;
}

在上述示例中,CMyListBox 类是从 CListBox 派生的自定义类,重写了 MeasureItem 方法。在这里,我们设置每个项的高度为 20 像素,但你可以根据自己的需求进行调整。

请注意,如果你不使用 Owner Draw 功能,通常是不需要重写 MeasureItem 方法的。


转载请注明出处:http://www.zyzy.cn/article/detail/18451/MFC/CListBox