comctl32: SysDateTimePick32 control add Alt+down hot key likewindows

Nikolay Sivov bunglehead at gmail.com
Sun Feb 15 10:17:53 CST 2015


On 15.02.2015 19:06, Changhui Liu wrote:
> Hi Dmitry,
> Thank you for your advice.
>
>  > I wouldn't be surprised if the control just does SendMessage with an
>  > appropriate message to itself. Is it possible to add a message test?
> I found that the messages sent to DateTimePick32 control is different in
> different windows and wine,
> for example,

>
> so I think it is not suitable write a message test.

You only care about DTM_* messages. Do those differ too?

> +DWORD WINAPI CheckMonthCalThread (void* param)
> +{
> +    int i = 0;
> +    HWND hWndMonthCal = NULL;
> +
> +    for (i=0; i<5; ++i)
> +    {
> +        Sleep(500); /*wait the SysMonthCal32 control to show*/
> +
> +        hWndMonthCal = FindWindowA("SysMonthCal32", NULL);
> +        if (NULL != hWndMonthCal)
> +        {
> +            trace("monthcal=%p\n", hWndMonthCal);
> +            ok(IsWindowVisible(hWndMonthCal), "Expected MonthCal to be visible\n");
> +
> +            /*select a day by click point(0x10, 0x10)*/
> +            PostMessageA(hWndMonthCal, WM_LBUTTONDOWN, 1, MAKEWPARAM(0x10,0x10));
> +
> +            *(HWND*)param = hWndMonthCal;
> +
> +            return TRUE;
> +        }
> +    }
> +
> +    ok(0, "Expected MonthCal to be valid\n");
> +
> +    return 0;
> +}

This looks a bit too much. First this needs a regular message test, 
including testing notifications being sent.

> +    case WM_SYSKEYDOWN:
> +        if (wParam == VK_DOWN)
> +        {
> +            POINT pt;
> +            RECT rect;
> +            GetClientRect(hwnd, &rect);
> +            pt.x = rect.right - GetSystemMetrics(SM_CXVSCROLL)/2;
> +            pt.y = rect.top + GetSystemMetrics(SM_CYHSCROLL)/2;
> +
> +            return DATETIME_LButtonDown (infoPtr, (SHORT)pt.x, (SHORT)pt.y);
> +        }
> +        /*else continue to DefWindowProcW*/
> +

As I said already, this is too complicated.



More information about the wine-devel mailing list