如何在onclick按钮中暂停阅读文本文件并在mcc vC++中的Onclick按钮时恢复它?
如何暂停按钮onclick读取文本文件,并在mcc vC++中的Onclick按钮时恢复它?如何在onclick按钮中暂停阅读文本文件并在mcc vC++中的Onclick按钮时恢复它?
该文件打开如下 CFileException fileException;
if (readFile.Open(strFilePath, CFile::modeRead, &fileException) {
while (readFile.ReadString(strLine))
{
...
}
}
回答:
尝试TRO的代码移动到另一个线程,我认为与你必须与reentrancy打,如果这个代码是在主线程内的任何解决方案,但你必须从窥视消息队列中的消息。使用一个线程可以suspend它或使用一些synchronization primitive来管理它的等待。
回答:
将“阅读”移动到单独的线程绝对是最好的方法。但是,可以添加的功能,让其他事件而阅读发生:
void DoEvents() {
MSG msg;
while(::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
::TranslateMessage(&msg);
::DispatchMessage (&msg);
}
}
假设你在你的代码具有挥发性标志指示暂停/恢复,你可以这样做:
while (readFile.ReadString(strLine)) {
while(this->m_bPause == TRUE)
{
::Sleep(100); // Adjust as necessary
DoEvents();
}
// continue reading...
}
这应该可行,但您可能会注意到该应用程序在循环过程中有点反应迟钝。希望这可以帮助。
以上是 如何在onclick按钮中暂停阅读文本文件并在mcc vC++中的Onclick按钮时恢复它? 的全部内容, 来源链接: utcz.com/qa/265215.html