2012-02-25 78 views
1

我有一个父对话框,此对话框有菜单,在此菜单中(Help-> about)。
当我点击关于选择,显示关于DialogBox。
我想如果点击确定或关闭(X)按钮,只关闭这个对话框而不是主对话框。如何在不关闭主对话框(父母)的情况下关闭对话框(Child)

这是我的尝试:

// ------------- Main dialog function 
BOOL CALLBACK DlgFunc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp){ 
    switch(msg){ 
    case WM_COMMAND: 
     switch(LOWORD(wp)){ 
     case IDM_HABOUT: // Here, I set when I click on help selection in the menu creates (about dialogbox) 
      DialogBox(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_AboutDlg), hwnd, AboutDlgFunc); 
      break; 
     } 
     break; 
    case WM_CLOSE: 
     DestroyWindow(hwnd); 
     break; 
    case WM_DESTROY: 
     PostQuitMessage(0); 
     break; 
    default: 
     return false; 
    } 
    return true; 
} 


// ------------- About dialog function 
BOOL CALLBACK AboutDlgFunc(HWND HabutWnd, UINT msg, WPARAM wp, LPARAM lp){ 
    switch(msg){ 
    case WM_COMMAND: 
     if(LOWORD(wp) == IDOK) 
      EndDialog(HabutWnd,0); 
     break; 
    case WM_CLOSE: 
     EndDialog(HabutWnd,0); 
     break; 
    case WM_DESTROY: 
     PostQuitMessage(0); 
     break; 
    default: 
     return false; 
    } 
    return true; 
} 

回答

3

不要叫PostQuitMessageWM_DESTROYAboutDlgFunc。这基本上导致整个程序退出。

+0

非常好先生pezcode,你是对的,谢谢你 – 2012-02-25 15:13:04