以ListView为BasicClass创建一个工程,程序中需要用到定时器。void CMy3535View::OnInitialUpdate()
{
CListView::OnInitialUpdate(); SetTimer (1,2000,NULL);
// TODO: You may populate your ListView with items by directly accessing
//  its list control through a call to GetListCtrl().
}void CMy3535View::OnTimer(UINT nIDEvent) 
{
int a ;
a = 1;
CListView::OnTimer(nIDEvent);
}可是OnTimer只触发两次就不工作了,这是为什么?是不是在CListView中不能使用SetTimer??如果我想每20秒钟把CListCtrl上的数据内容存储到D:/111.txt中,该怎么办????

解决方案 »

  1.   

    msdn.microsoft.com/library/en-us/vclib/html/_MFC_CListCtrl.asp
    注意这一段
    Also see: 
    Knowledge Base article Q250614: HOWTO: Sort Items in a CListCtrl in Report View 
    Knowledge Base article Q200054: PRB: OnTimer() Is Not Called Repeatedly for a List Control
      

  2.   

    把CListView::OnTimer(nIDEvent);去掉
      

  3.   

    OnInitialUpdate()是执行两次的,所以SetTimer (1,2000,NULL);不要放在OnInitialUpdate()里,可以在OnInitialUpdate()里加一个Init()函数,把SetTimer (1,2000,NULL)放在Init()里试试看.
      

  4.   

    同意楼上
    不要放在OnInitialUpdate()里
      

  5.   

    对啊,不要放在OnInitialUpdate(),放到构造函数里面也好啊