如果在一个BUTTON响应函数中弹出一个全屏的对话框,BUTTON响应函数中要能知道对话框被关闭的事件解决思路

如果在一个BUTTON响应函数中弹出一个全屏的对话框,BUTTON响应函数中要能知道对话框被关闭的事件
//TestTFTColor是一个BUTTON的响应函数
void TestDlg::TestTFTColor()
{
  HANDLE hTFTTestEvent;

  pColorTestDlg=new CDialogColorTest(this);
  //IDD_DIALOG_COLOR_TEST是一个测试对话框,连续点击几次后,会调用DestroyWindow销毁自己,
  pColorTestDlg->Create(IDD_DIALOG_COLOR_TEST); 
   
  pColorTestDlg->ModifyStyle(WS_CAPTION|WS_BORDER|WS_DLGFRAME|WS_THICKFRAME,0,0);
  pColorTestDlg->CenterWindow(GetDesktopWindow());
  int WINDOW_W= ::GetSystemMetrics(SM_CXSCREEN);
  int WINDOW_H= ::GetSystemMetrics(SM_CYSCREEN);
  pColorTestDlg->SetWindowPos(NULL, -3, -3, WINDOW_W+5, WINDOW_H+5, SWP_SHOWWINDOW); //全屏显示
   
  ///////////////////////////////////////////////////////////
  //下面代码是我的想法,但行不通,加了后,整个程序没有响应了
  hTFTTestEvent=CreateEvent(NULL,TRUE,FALSE,_T("TEST_TFT"));  
  if(hTFTTestEvent)
  {  
  while(1)
  {
  if(WaitForSingleObject(hTFTTestEvent, 0)!=WAIT_TIMEOUT )
  break;
  Sleep(200);
  }
  CloseHandle(hTFTTestEvent);
  }
  //我要在pColorTestDlg关闭后,在本函数中处理点其它事,
}

//在IDD_DIALOG_COLOR_TEST对话框中,
//我调用如下代码关闭自己

hTFTTestEvent = OpenEvent(EVENT_ALL_ACCESS, FALSE, L"TCC_REARCAM_STARTUP");
if(hTFTTestEvent)
{
  PulseEvent(hTFTTestEvent);
  CloseHandle(hTFTTestEvent);
}
DestroyWindow();




------解决方案--------------------
可以发消息呀,为什么非要弄事件内核对象
------解决方案--------------------
C/C++ code
CAboutDlg* pDlg = NULL;

#define MSG_EXIT (WM_USER + 0x11)
void CGSDlg::OnOK() 
{
    // TODO: Add extra validation here
    if(NULL == pDlg)
    {
        pDlg = new CAboutDlg;
        pDlg->Create(IDD_ABOUTBOX, this);
    }
    
    pDlg->ShowWindow(SW_SHOW);

    MSG msg;
    while(GetMessage(&msg, NULL, 0, 0))
    {
        if(MSG_EXIT == msg.message)
        {
            break;
        }
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    AfxMessageBox(_T("OK"));
}

void CAboutDlg::OnClose() 
{
    // TODO: Add your message handler code here and/or call default
    
    //CDialog::OnClose();
    GetParent()->PostMessage(MSG_EXIT, 0, 0);

    DestroyWindow();
}