Alexandre Julliard : user32: Destroy the unused buttons in a message box instead of only hiding them.

Alexandre Julliard julliard at winehq.org
Fri Jun 18 09:58:36 CDT 2010


Module: wine
Branch: master
Commit: f69d88b503ef818c34108d313006010425a4adbe
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f69d88b503ef818c34108d313006010425a4adbe

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Jun 17 20:07:22 2010 +0200

user32: Destroy the unused buttons in a message box instead of only hiding them.

---

 dlls/user32/msgbox.c |   74 +++++++++++++++++++++++++-------------------------
 1 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/dlls/user32/msgbox.c b/dlls/user32/msgbox.c
index 232e599..32b4252 100644
--- a/dlls/user32/msgbox.c
+++ b/dlls/user32/msgbox.c
@@ -122,55 +122,55 @@ static HFONT MSGBOX_OnInit(HWND hwnd, LPMSGBOXPARAMSW lpmb)
     TRACE_(msgbox)("%s\n", debugstr_w(lpszText));
     SetWindowTextW(GetDlgItem(hwnd, MSGBOX_IDTEXT), lpszText);
 
-    /* Hide not selected buttons */
+    /* Remove not selected buttons */
     switch(lpmb->dwStyle & MB_TYPEMASK) {
     case MB_OK:
-	ShowWindow(GetDlgItem(hwnd, IDCANCEL), SW_HIDE);
+	DestroyWindow(GetDlgItem(hwnd, IDCANCEL));
 	/* fall through */
     case MB_OKCANCEL:
-	ShowWindow(GetDlgItem(hwnd, IDABORT), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDRETRY), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDIGNORE), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDYES), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDNO), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDTRYAGAIN), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDCONTINUE), SW_HIDE);
+	DestroyWindow(GetDlgItem(hwnd, IDABORT));
+	DestroyWindow(GetDlgItem(hwnd, IDRETRY));
+	DestroyWindow(GetDlgItem(hwnd, IDIGNORE));
+	DestroyWindow(GetDlgItem(hwnd, IDYES));
+	DestroyWindow(GetDlgItem(hwnd, IDNO));
+	DestroyWindow(GetDlgItem(hwnd, IDTRYAGAIN));
+	DestroyWindow(GetDlgItem(hwnd, IDCONTINUE));
 	break;
     case MB_ABORTRETRYIGNORE:
-	ShowWindow(GetDlgItem(hwnd, IDOK), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDCANCEL), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDYES), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDNO), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDCONTINUE), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDTRYAGAIN), SW_HIDE);
+	DestroyWindow(GetDlgItem(hwnd, IDOK));
+	DestroyWindow(GetDlgItem(hwnd, IDCANCEL));
+	DestroyWindow(GetDlgItem(hwnd, IDYES));
+	DestroyWindow(GetDlgItem(hwnd, IDNO));
+	DestroyWindow(GetDlgItem(hwnd, IDCONTINUE));
+	DestroyWindow(GetDlgItem(hwnd, IDTRYAGAIN));
 	break;
     case MB_YESNO:
-	ShowWindow(GetDlgItem(hwnd, IDCANCEL), SW_HIDE);
+	DestroyWindow(GetDlgItem(hwnd, IDCANCEL));
 	/* fall through */
     case MB_YESNOCANCEL:
-	ShowWindow(GetDlgItem(hwnd, IDOK), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDABORT), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDRETRY), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDIGNORE), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDCONTINUE), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDTRYAGAIN), SW_HIDE);
+	DestroyWindow(GetDlgItem(hwnd, IDOK));
+	DestroyWindow(GetDlgItem(hwnd, IDABORT));
+	DestroyWindow(GetDlgItem(hwnd, IDRETRY));
+	DestroyWindow(GetDlgItem(hwnd, IDIGNORE));
+	DestroyWindow(GetDlgItem(hwnd, IDCONTINUE));
+	DestroyWindow(GetDlgItem(hwnd, IDTRYAGAIN));
 	break;
     case MB_RETRYCANCEL:
-	ShowWindow(GetDlgItem(hwnd, IDOK), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDABORT), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDIGNORE), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDYES), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDNO), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDCONTINUE), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDTRYAGAIN), SW_HIDE);
+	DestroyWindow(GetDlgItem(hwnd, IDOK));
+	DestroyWindow(GetDlgItem(hwnd, IDABORT));
+	DestroyWindow(GetDlgItem(hwnd, IDIGNORE));
+	DestroyWindow(GetDlgItem(hwnd, IDYES));
+	DestroyWindow(GetDlgItem(hwnd, IDNO));
+	DestroyWindow(GetDlgItem(hwnd, IDCONTINUE));
+	DestroyWindow(GetDlgItem(hwnd, IDTRYAGAIN));
 	break;
     case MB_CANCELTRYCONTINUE:
-	ShowWindow(GetDlgItem(hwnd, IDOK), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDABORT), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDIGNORE), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDYES), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDNO), SW_HIDE);
-	ShowWindow(GetDlgItem(hwnd, IDRETRY), SW_HIDE);
+	DestroyWindow(GetDlgItem(hwnd, IDOK));
+	DestroyWindow(GetDlgItem(hwnd, IDABORT));
+	DestroyWindow(GetDlgItem(hwnd, IDIGNORE));
+	DestroyWindow(GetDlgItem(hwnd, IDYES));
+	DestroyWindow(GetDlgItem(hwnd, IDNO));
+	DestroyWindow(GetDlgItem(hwnd, IDRETRY));
     }
     /* Set the icon */
     switch(lpmb->dwStyle & MB_ICONMASK) {
@@ -201,9 +201,9 @@ static HFONT MSGBOX_OnInit(HWND hwnd, LPMSGBOXPARAMSW lpmb)
 	break;
     }
 
-    /* Hide Help button unless MB_HELP supplied */
+    /* Remove Help button unless MB_HELP supplied */
     if (!(lpmb->dwStyle & MB_HELP)) {
-        ShowWindow(GetDlgItem(hwnd, IDHELP), SW_HIDE);
+        DestroyWindow(GetDlgItem(hwnd, IDHELP));
     }
 
     /* Position everything */




More information about the wine-cvs mailing list