2012-02-25 5 views
1

J'ai une boîte de dialogue parent, cette boîte de dialogue a un menu, dans ce menu (Aide-> environ).
lorsque je clique sur la sélection à propos de, afficher sur DialogBox.
Je veux que si je clique sur Ok ou ferme le bouton (X), ferme cette boîte de dialogue seulement pas la boîte de dialogue principale.Comment fermer la boîte de dialogue (Enfant) sans fermer la boîte de dialogue principale (parent)

Cette mes tentatives:

// ------------- 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; 
} 

Répondre

3

numéros de télécommunication exclus PostQuitMessage à l'intérieur WM_DESTROYAboutDlgFunc. Cela provoque essentiellement l'arrêt complet du programme.

+0

Très bien Mr pezcode, vous avez raison, merci –

Questions connexes