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);