如上图所示,是一个对话框上面一个ListBox,一般的ListBox背景都是白色的,如何做出如上面一样有一横一横的效果?
是通过设置什么属性出来的?我不希望答案是一个一个的按钮加进去的

解决方案 »

  1.   

    void   CLineListBox::OnPaint()  
    {
    CListBox::OnPaint();
    CDC   *pDC   =   this-> GetDC();
    int   nItem   =   3;
    int   nItemPosY   =   0;
    for(int   i=0   ;   i <3   ;   i++)   nItemPosY   +=   GetItemHeight(i);
    pDC-> MoveTo(0,   nItemPosY);
    pDC-> LineTo(100,   nItemPosY);
    pDC-> DeleteDC();
    }
      

  2.   

    自绘很容易做到的http://blog.csdn.net/VisualEleven/archive/2010/12/13/6072404.aspx
      

  3.   

    只要初始化时设置一下风格就好了,如下:
             CRect rect;
    int r;
    m_list.InsertColumn(0,"课程名称");
    m_list.InsertColumn(1,"成绩"); m_list.GetClientRect(&rect);
    r=rect.Width();
    m_list.SetColumnWidth(0,r/2);
    m_list.SetColumnWidth(1,r/2); m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_TWOCLICKACTIVATE|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP);