CListBox(CTransparentListBox) 对象当字体设大时,Items 条目的内容挤在一起,行间距可以调吗?如何调?请给一个思路.

解决方案 »

  1.   


    void CMyListBox::MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct) 
    {
       ASSERT(lpMeasureItemStruct->CtlType == ODT_LISTBOX);
       LPCTSTR lpszText = (LPCTSTR) lpMeasureItemStruct->itemData;
       ASSERT(lpszText != NULL);
       CSize   sz;
       CDC*    pDC = GetDC();   sz = pDC->GetTextExtent(lpszText);   ReleaseDC(pDC);   lpMeasureItemStruct->itemHeight = 2*sz.cy;  //设置字体高度的两倍
    }
      

  2.   

    不行。MeasureItem 好像没有被调用到(设置断点时看不到)。
      

  3.   

    listbox是具有LBS_OWNERDRAWVARIABLE的,也就是可以修改每个item的信息,如果创建的时候设置为LBS_OWNERDRAWFIXED,那就不能修改单个item了