我要实现的功能如下:
1、定义函数Wait(),在其中定义一个循环,循环控制变量为一个全局的标志变量m_bSign,当此变量为true时,反复执行此循环。
2、定义快捷键F9,其实现函数为改变这个全局标志变量m_bSign=false。
我想要实现的效果就是:按了F9后,Wait()函数退出循环,继续执行接下来的代码。
但现在的问题是当Wait()函数循环开始后,程序就不接收F9的响应了,F9的实现函数进不去了。这是怎么回事?代码如下:void CTestThreadView::OnBUTTON_Wait()
{
m_bSign = true; while (m_bSign)
{
MSG msg;
while(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
_sleep(1);
Sleep(1);
} ... ...}
void CTestThreadView::OnAcce_F9()
{
m_bSign = false;
}请各位大侠指点一下。谢谢!
1、定义函数Wait(),在其中定义一个循环,循环控制变量为一个全局的标志变量m_bSign,当此变量为true时,反复执行此循环。
2、定义快捷键F9,其实现函数为改变这个全局标志变量m_bSign=false。
我想要实现的效果就是:按了F9后,Wait()函数退出循环,继续执行接下来的代码。
但现在的问题是当Wait()函数循环开始后,程序就不接收F9的响应了,F9的实现函数进不去了。这是怎么回事?代码如下:void CTestThreadView::OnBUTTON_Wait()
{
m_bSign = true; while (m_bSign)
{
MSG msg;
while(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
_sleep(1);
Sleep(1);
} ... ...}
void CTestThreadView::OnAcce_F9()
{
m_bSign = false;
}请各位大侠指点一下。谢谢!
解决方案 »
- 关于WaitForSingleObject函数的问题
- MFC程序更改入口的问题
- 有个关于控件的需求,里面的几个属性中包含了了“_”(下划线),为什么不可以呢?
- 周末散分:朋友要跳槽,刚参加工作将满一年;据说没满一年就不能拿到工程师助理的职称
- 本人创建了一个VC++程序员群
- 求购二手书 ——《windows编程》!
- C/S 架构下的Server怎么实现?
- 求教!!CEdit或ComboBox输入后如何产生回车键事件?
- 不知道《Inside COM+ Base Services》适不适合初学COM呀?
- 基于VLC开发的MFC控件问题
- 一个基于CSocket的对话框通信小程序,运行都没问题,就是不能通信.
- 编译后debug文件夹下生成的exe文件能单独执行吗?
下面是一个简单的创建一个工作线程的实现:
//xxxdlg.h
static UINT MyThread(LPVOID pParam);
CWinThread* pMyThread;//xxxdlg.cpp
CXXXDlg::OnButton1()
{
pMyThread = AfxBeginThread(MyThread, this);
pMyThread = NULL;
}UINT CXXXDlg::MyThread(LPVOID pParam)
{
CXXXDlg *pDlg = (CXXXDlg *)pParam; //这里添加计算过程 return 0;
}