[PATCH 17/18] comctl32: TaskDialog - Implement TDM_HELP and add tests

Fabian Maurer dark.shadow4 at web.de
Sat Feb 25 10:01:45 CST 2017


Signed-off-by: Fabian Maurer <dark.shadow4 at web.de>
---
 dlls/comctl32/taskdialog.c       |  3 +++
 dlls/comctl32/tests/taskdialog.c | 19 +++++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/dlls/comctl32/taskdialog.c b/dlls/comctl32/taskdialog.c
index ff0d0530c3..fefdf37efd 100644
--- a/dlls/comctl32/taskdialog.c
+++ b/dlls/comctl32/taskdialog.c
@@ -395,6 +395,9 @@ static INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARA
                 return TRUE;
             }
             break;
+        case WM_HELP:
+            callback(dialog, TDN_HELP, 0, 0);
+            return TRUE;
 
         /* Custom messages*/
 
diff --git a/dlls/comctl32/tests/taskdialog.c b/dlls/comctl32/tests/taskdialog.c
index ebaa3f070d..e439471548 100644
--- a/dlls/comctl32/tests/taskdialog.c
+++ b/dlls/comctl32/tests/taskdialog.c
@@ -128,6 +128,15 @@ static const message_data mes_button_clicked_custom4[] = {
     { TDN_NO_MORE_MESSAGES }
 };
 
+static const message_data mes_help[] = {
+    { TDN_DIALOG_CONSTRUCTED, 0, 0 },
+    { TDN_CREATED, 0, 0 },
+    { TDN_HELP, 0, 0 },
+    { TDN_BUTTON_CLICKED, IDOK, 0 },
+    { TDN_DESTROYED, 0, 0 },
+    { TDN_NO_MORE_MESSAGES }
+};
+
 /* Message lists to send */
 
 static const message_send_data mes_send_return[] = {
@@ -186,6 +195,12 @@ static const message_send_data mes_send_disable_single3[] = {
     { 0 }
 };
 
+static const message_send_data mes_send_F1[] = {
+    { WM_HELP, 0, 0, NULL, SEND_MAINTHREAD },
+    { TDM_CLICK_BUTTON, IDOK, 0 },
+    { 0 }
+};
+
 /* Our only way to get a button handle, since GetDlgItem and FindWindowEx don't work for the official taskdialog */
 
 static HWND taskdialog_child;
@@ -512,6 +527,10 @@ static void test_TaskDialogIndirect(void)
 
     /* Send disable message that's not true or false */
     run_test(&info, IDOK, 0, 0, mes_button_clicked_ok, mes_send_disable_single3);
+
+    /* Test TDM_HELP */
+
+    run_test(&info, IDOK, 0, 0, mes_help, mes_send_F1);
 }
 
 START_TEST(taskdialog)
-- 
2.12.0




More information about the wine-patches mailing list