I'm trying to learn threads so I created a simple dialog based MFC app
with an edit box, a Run button and an Exit button. Run starts a loop
that continually updates the edit control. How do I modify the code so
that the dialog responds to events? That is, so the Exit button will
work. Do I even need threads in this situation?
void CThreadPracticeDlg::OnBnClickedRun()
{
int i = 0;
while (1) {
if (i >= 10) {
i = 0;
}
char intString[2];
_itoa(i,intString,10);
CString msg = CString(intString);
m_edit1.SetWindowTextW(msg);
i++;
Sleep(500);
}
}
void CThreadPracticeDlg::OnBnClickedExit()
{
exit(0);
}
----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.pronews.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= - Total Privacy via Encryption =---
imuro - 13 Mar 2008 06:05 GMT
> I'm trying to learn threads so I created a simple dialog based MFC app
> with an edit box, a Run button and an Exit button. Run starts a loop
[quoted text clipped - 27 lines]
> ----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==----http://www.pronews.comThe #1 Newsgroup Service in the World! >100,000 Newsgroups
> ---= - Total Privacy via Encryption =---
Hi Jeffero,
I can see that your thread is running all the time since it is an
infinite loop. You are right that the UI and your internal program
should be on different thread so the UI is responsive even though your
loop is running. The exit button should stop the loop (thread) and
wait to see if the thread is finished, if it is then you exit
gracefully or terminate thread and exit. Hope this helps :)
Cheers,
Chris