15,471
社区成员
发帖
与我相关
我的任务
分享
void CTestDlg::OnNcLButtonDown(UINT nHitTest, CPoint point)
{
m_bDig = TRUE;
CDialog::OnNcLButtonDown(nHitTest,point); //新添加的代码
}
BOOL CHoleDlg::DoLoop()
{
MSG msg;
BOOL bRet=0;
while(1)
{
if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
if(msg.message==WM_QUIT)
break;
if(!AfxGetApp()->PreTranslateMessage(&msg))//如果无法预处理消息
{
::TranslateMessage(&msg);//转换消息
::DispatchMessage(&msg);//发送消息
}
}
else
{
//在这里添加空闲任务处理
Sleep(100);
}
}
return TRUE;
}
BOOL CTestDlg::DoLoop()
{
MSG msg;
BOOL bRet;
while(1)
{
if(PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE))// 从Windows消息队列中取出消息
{
bRet = GetMessage(&msg, NULL, 0, 0);
if(bRet != 0)
{
if(bRet == -1)//判断返回值是否有问题
{
AfxMessageBox(_T("Handle the error and possibly exit!"));
break;
}else{//以下分情况讨论获取到的消息对应什么操作
switch(msg.message)
{
case WM_CLOSE:
DestroyWindow();
break;
case WM_DESTROY:
delete this;
PostQuitMessage(0);
break;
default:
TranslateMessage(&msg);
DispatchMessage(&msg);
break;
}
}
}// end of inner if
if(!AfxGetApp()->PreTranslateMessage(&msg))// 如果无法预处理消息
{
::TranslateMessage(&msg);// 转换消息
::DispatchMessage(&msg); // 发送消息
}
}
AfxGetApp()->OnIdle(0);
AfxGetApp()->OnIdle(1);
}// end of while
return TRUE;
}