启动一线程,定时刷新窗口

来源:互联网 发布:java基础全套视频教程 编辑:程序博客网 时间:2024/06/05 00:49

作者:古典小说网 (gudianxiaoshuo.com)

头条:讨厌编程  、 古典古韵古典小说

作品:快乐课堂软件、任性动图软件、古典小说大全




创建一事件,避免和主线程冲突

HANDLE g_hTic2 = CreateEvent(NULL, TRUE, TRUE, NULL); //手动复原 有信号


启动线程

AfxBeginThread(Tic2, this);


线程

UINT  Tic2(LPVOID pTView){CImportView *pView = (CImportView*)pTView;ResetEvent(pView->g_hTic2);//重置为无信号long nCount = 0;while (!pView->m_bStopTic2){//间隔多少时间刷新Sleep(g_nShanshuoPinlv/5);if (nCount%5==0)pView->InvalidateLeft();elsepView->InvalidateChunk(pView->pMiddleChunk);nCount++;}SetEvent(pView->g_hTic2); //有信号return 1;}


结束线程

EndTic2(){m_bStopTic2 = TRUE;WaitForSingleObject(g_hTic2, INFINITE);}


在程序结束时,先结束线程

CloseApp(){EndTic2();m_bStopSpeak = TRUE;((CMainFrame *)AfxGetMainWnd())->OnClose();exit(0);}


原创粉丝点击