我用List Box控件,在它的属性对话框中的Styles页面中,我将Horizontal scroll复选框选中,当程序运行时,listbox中某一项的长度要是过长,应该显示水平滚动条,可是不显示,是什么毛病?需要添加什么语句吗?垂直滚动条没有问题.

解决方案 »

  1.   

    对,那个样式自己要重新定义
    void CXXX::ExtendListHSroll()
    {
    CString        Name;
    CSize          Size;
    CDC *          DeviceContent  = 0;
    long           Width          = 0;
    long           Count          = 0; Count = m_yourlistbox.GetCount();   if ( Count )
       {
          DeviceContent = m_yourlistbox.GetDC();      for ( long Index = 0; Index < Count; Index++ )
          {
             m_yourlistbox.GetText( Index, Name );         Size = DeviceContent->GetTextExtent( Name );         if ( Size.cx > Width )
                Width = Size.cx;
          }      m_yourlistbox.ReleaseDC( DeviceContent );
       }   m_yourlistbox.SetHorizontalExtent( Width );
    }