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