vc mfc 中的listctrl控件 垂直滚动条置于最底端

1,列表框的初始化。
初始化函数中:
    DWORD dwExStyle = LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | /*LVS_EX_SUBITEMIMAGES |*/     //列表样式    m_List1.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);    //  LVS_EX_HEADERDRAGDROP | LVS_EX_TRACKSELECT;
        m_List1.InsertColumn(0,_T("xx"),LVCFMT_IMAGE|LVCFMT_LEFT);//列表的列标题
        m_List1.InsertColumn(1,_T("xx"));
        m_List1.InsertColumn(2,_T("xx"));
        m_List1.InsertColumn(3,_T("xxx"));
        m_List1.InsertColumn(4,_T("xxx"));
        m_List1.InsertColumn(5,_T("xxx"));
        m_List1.InsertColumn(6,_T("xxxx"));

        m_List1.SetColumnWidth(0 ,220);//列宽
        for(int j=1;j<7;j++)
             m_List1.SetColumnWidth(j ,80);//列宽设置
2,滚动条置于列表框的最下端。
//这是获取滚动条当前位置 
//int visindex = m_List1.GetScrollPos(SB_VERT); 
//int posx = m_List1.GetScrollPos(SB_HORZ); 
//重新往CListCtrl里放入新数据 
//完成后设置Scroll的位置 
//m_List1.SetScrollPos(posx,visindex,1);  
// Ensure that the last item is visible.
int nCount = m_List1.GetItemCount();
if (nCount > 0)
m_List1.EnsureVisible(nCount-1, FALSE);
3,报警播放声音。
    //显示到list1中。
    //获取当前时间。
    CTime Time;
    Time = CTime::GetCurrentTime();
    CString Str = Time.Format("%Y.%m.%d. %I:%M:%S");
    m_date=Str;
 if (m_recv1 < m_nd && m_recv2 < m_nd )//要根据实际情况修改
{    }
    else
    {
    m_dataIsTrue="不合格";
    //报警
    //_variant_t vTim,vRsc,vRsb,vRsrsj;                            nItem=m_List1.InsertItem(0xffff,(_bstr_t)Str);//日期时间                            m_List1.SetItem(nItem,1,1,(_bstr_t)qianhao,NULL,0,0,0);//对边距最大值
                                m_List1.SetItem(nItem,2,1,(_bstr_t)xianxing,NULL,0,0,0);//对边距中间值
    m_List1.SetItem(nItem,3,1,(_bstr_t)m_recv3,NULL,0,0,0);//对边距最大值                        m_List1.SetItem(nItem,4,1,(_bstr_t)m_recv2,NULL,0,0,0);//对边距中间值                            m_List1.SetItem(nItem,5,1,(_bstr_t)m_recv1,NULL,0,0,0);//对边距最小值                        m_List1.SetItem(nItem,6,1,(_bstr_t)m_dataIsTrue,NULL,0,0,0);//数据显示。                        m_List1.SetItemColor(nItem, RGB(255,0,0));
    //报警声音                            //SetTimer(3,20000,NULL);//
                        PlaySound((LPCTSTR)IDR_BEEP, AfxGetInstanceHandle(),  SND_RESOURCE | SND_ASYNC);
    //PlaySound(L"air.wav",NULL,SND_FILENAME|SND_ASYNC);
    }
    UpdateData(false);
发现自己的不足,善于利用找到的方法去扬长避短。行动起来。
原文地址:https://www.cnblogs.com/rechen/p/5097587.html