2012-02-25 47 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