Zhiyi Zhang : comctl32/taskdialog: Add support for TDN_HELP.

Alexandre Julliard julliard at winehq.org
Wed May 16 17:30:28 CDT 2018


Module: wine
Branch: master
Commit: 7dcaade498141c4edc73f0edbb8ce668dc795ff1
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=7dcaade498141c4edc73f0edbb8ce668dc795ff1

Author: Zhiyi Zhang <yi.gd.cn at gmail.com>
Date:   Thu May 17 00:18:06 2018 +0300

comctl32/taskdialog: Add support for TDN_HELP.

Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/comctl32/taskdialog.c       |  3 +++
 dlls/comctl32/tests/taskdialog.c | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+)

diff --git a/dlls/comctl32/taskdialog.c b/dlls/comctl32/taskdialog.c
index 4db4879..ae8e94d 100644
--- a/dlls/comctl32/taskdialog.c
+++ b/dlls/comctl32/taskdialog.c
@@ -561,6 +561,9 @@ static INT_PTR CALLBACK taskdialog_proc(HWND hwnd, UINT msg, WPARAM wParam, LPAR
                 break;
             }
             return FALSE;
+        case WM_HELP:
+            taskdialog_notify(dialog_info, TDN_HELP, 0, 0);
+            break;
         case WM_DESTROY:
             taskdialog_notify(dialog_info, TDN_DESTROYED, 0, 0);
             RemovePropW(hwnd, taskdialog_info_propnameW);
diff --git a/dlls/comctl32/tests/taskdialog.c b/dlls/comctl32/tests/taskdialog.c
index 3fcc634..ad45555 100644
--- a/dlls/comctl32/tests/taskdialog.c
+++ b/dlls/comctl32/tests/taskdialog.c
@@ -121,6 +121,26 @@ static const struct message_info msg_return_press_custom10[] =
     { 0 }
 };
 
+static const struct message_info msg_send_click_ok[] =
+{
+    { TDM_CLICK_BUTTON, IDOK, 0 },
+    { 0 }
+};
+
+static const struct message_info msg_send_f1[] =
+{
+    { WM_KEYF1, 0, 0, 0},
+    { 0 }
+};
+
+static const struct message_info msg_got_tdn_help[] =
+{
+    { TDN_CREATED, 0, 0, S_OK, msg_send_f1 },
+    { TDN_HELP, 0, 0, S_OK, msg_send_click_ok },
+    { TDN_BUTTON_CLICKED, IDOK, 0, S_OK, NULL },
+    { 0 }
+};
+
 static void init_test_message(UINT message, WPARAM wParam, LPARAM lParam, struct message *msg)
 {
     msg->message = WM_TD_CALLBACK;
@@ -291,6 +311,18 @@ static void test_buttons(void)
     run_test(&info, ID_START_BUTTON + 3, msg_return_press_custom4, "default button: valid default - 2");
 }
 
+static void test_help(void)
+{
+    TASKDIALOGCONFIG info = {0};
+
+    info.cbSize = sizeof(TASKDIALOGCONFIG);
+    info.pfCallback = taskdialog_callback_proc;
+    info.lpCallbackData = test_ref_data;
+    info.dwCommonButtons = TDCBF_OK_BUTTON;
+
+    run_test(&info, IDOK, msg_got_tdn_help, "send f1");
+}
+
 START_TEST(taskdialog)
 {
     ULONG_PTR ctx_cookie;
@@ -327,6 +359,7 @@ START_TEST(taskdialog)
     test_invalid_parameters();
     test_callback();
     test_buttons();
+    test_help();
 
     unload_v6_module(ctx_cookie, hCtx);
 }




More information about the wine-cvs mailing list