2009-10-19 10 views

Répondre

10

MessageBox retournera un nombre entier en se référant au bouton enfoncé. À partir du lien précédent:

Return Value 
    IDABORT  Abort button was selected. 
    IDCANCEL  Cancel button was selected. 
    IDCONTINUE Continue button was selected. 
    IDIGNORE  Ignore button was selected. 
    IDNO   No button was selected. 
    IDOK   OK button was selected. 
    IDRETRY  Retry button was selected. 
    IDTRYAGAIN Try Again button was selected. 
    IDYES  Yes button was selected. 

donc quelque chose comme:

int result = MessageBox(hWnd, "Save work?", MB_YESNOCANCEL); 
if (result == IDOK) 
{ 
    // ... 
} 
else if (result == IDNO) 
{ 
    // ... 
} 
else // cancel 
{ 
    // ... 
} 
+2

MessageBox peut également retourner 0 en cas d'erreur. Dans ce cas, GetLastError renverra le code d'erreur. Je ne rencontre jamais d'erreur dans cette fonction. Mais je soupçonne que par exemple passer des résultats HWND invalides dans une erreur. –

1
int result = MessageBox(hWnd,_T(""),_T("Save work?"), MB_YESNOCANCEL); 
if (result == 6){ 
    MessageBox(NULL, _T("YES"),_T("Press"),MB_OK); 
} 
else if (result == 7){ 
    MessageBox(NULL, _T("NO"),_T("Press"),MB_OK); 
} 
else{ 
    MessageBox(NULL, _T("CANCEL"),_T("Press"),MB_OK); 
}