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

作者:古典小说网 (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();
		else
			pView->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);
}


你可能感兴趣的:(MFC)