comctl32/taskdialog: Add support for TDN_HELP.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zhiyi Zhang 2018-05-17 00:18:06 +03:00 committed by Alexandre Julliard
parent c5b469f7ab
commit 7dcaade498
2 changed files with 36 additions and 0 deletions

View File

@ -561,6 +561,9 @@ static INT_PTR CALLBACK taskdialog_proc(HWND hwnd, UINT msg, WPARAM wParam, LPAR
break; break;
} }
return FALSE; return FALSE;
case WM_HELP:
taskdialog_notify(dialog_info, TDN_HELP, 0, 0);
break;
case WM_DESTROY: case WM_DESTROY:
taskdialog_notify(dialog_info, TDN_DESTROYED, 0, 0); taskdialog_notify(dialog_info, TDN_DESTROYED, 0, 0);
RemovePropW(hwnd, taskdialog_info_propnameW); RemovePropW(hwnd, taskdialog_info_propnameW);

View File

@ -121,6 +121,26 @@ static const struct message_info msg_return_press_custom10[] =
{ 0 } { 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) static void init_test_message(UINT message, WPARAM wParam, LPARAM lParam, struct message *msg)
{ {
msg->message = WM_TD_CALLBACK; 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"); 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) START_TEST(taskdialog)
{ {
ULONG_PTR ctx_cookie; ULONG_PTR ctx_cookie;
@ -327,6 +359,7 @@ START_TEST(taskdialog)
test_invalid_parameters(); test_invalid_parameters();
test_callback(); test_callback();
test_buttons(); test_buttons();
test_help();
unload_v6_module(ctx_cookie, hCtx); unload_v6_module(ctx_cookie, hCtx);
} }