MFC中等待消息执行
最近封装一个控件,遇到一个难题,就是不知道如何等待消息返回。具体如下:
自定义了一个消息1501,这个消息里面执行某个操作MessageFunction。
有个方法function,这个方法提供给其他人调用的。这个方法判断isSignal标志,已表示消息1501是否执行完成。因为1501这个消息是由其他人触发的,所以我不知道什么MessageFunction才会执行。需要在function中循环判断isSignal标志是否改过了。而在function中使用循环判断会导致线程阻塞,消息MessageFunction压根儿不执行。
我的问题就是在function怎么判断MessageFunction已经执行过了?
ON_MESSAGE( 1501, MessageFunction )
bool isSignal = false;
HRESULT CXXXCtrl::MessageFunction(WPARAM wParam, LPARAM lParam)
{
isSignal = true;
}
HRESULT function()
{
if(isSignal)return S_OK;
}