我的程序是基于触摸屏的,程序中使用了listctrl控件,为了适应触屏的需求,我希望能够设置列表框的高度,可是却没有找到相应的函数,请问该如何处理,可否提供源码,谢谢

解决方案 »

  1.   


    处理 WM_MEASUREITEM, 并在参数结构中返回一个合适的高度值。或者用CListCtrl类, 但必须重载两个函数:
    DrawItem 和 MeasureItem. 并且添加标志位 LVS_OWNERDRAWFIXED.
      

  2.   


    修改一下:
    用向导添加 ON_WM_MEASUREITEM_REFLECT().
      

  3.   

    通过设置imagelist来改变行高
    CImageList image;
    image.Create(2,16,ILC_COLOR,1,1);       //这里的16即可理解为行高了
    m_list.SetImageList(&image,LVSIL_SMALL);
      

  4.   

    使用自绘控件,具体的实现方法可以参考如下的例子:
    http://www.codeguru.com/Cpp/controls/listview/advanced/article.php/c1013/