只有当ListItem的长度超出ListBox时,水平滚动条才可见!

解决方案 »

  1.   

    1.保证CListBox有WS_HSCROLL 风格
    2.然后m_ListBox.SendMessage (LB_SETHORIZONTALEXTENT ,nWidth,0);
     nWidth根据你的ListBox的宽度进行设置
      

  2.   

    调用CWnd::EnableScrollBarCtrl(TRUE);
      

  3.   


        如果你想精确控制的话,可以重载AddString函数(InsertString,etc)。    在这个函数里,首先使用GetFont得到显示字体并选入一个DC设备,然后调用DC的GetTextExtent得到本项文本的长度。接下来,得到水平滚动的范围并与这个值比较。如果文本超出当前滚动范围,就重新设置滚动范围为新值。    如果对其中函数调用不清楚的话可以参考MSDN。我有一个自动设置滚动的列表框类,可惜不知放哪了。