comctl32/listview: More LVM_*HITTEST tests.
This commit is contained in:
parent
48d58cef59
commit
faebaa575b
|
@ -2661,11 +2661,17 @@ static void test_hittest(void)
|
||||||
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
||||||
test_lvm_hittest(hwnd, x, y, -1, LVHT_TORIGHT, FALSE, FALSE, __LINE__);
|
test_lvm_hittest(hwnd, x, y, -1, LVHT_TORIGHT, FALSE, FALSE, __LINE__);
|
||||||
test_lvm_subitemhittest(hwnd, x, y, 0, 1, LVHT_ONITEMLABEL, FALSE, FALSE, FALSE, __LINE__);
|
test_lvm_subitemhittest(hwnd, x, y, 0, 1, LVHT_ONITEMLABEL, FALSE, FALSE, FALSE, __LINE__);
|
||||||
|
y = (bounds.bottom - bounds.top) / 2;
|
||||||
|
test_lvm_hittest(hwnd, x, y, -1, LVHT_TORIGHT, FALSE, TRUE, __LINE__);
|
||||||
|
test_lvm_subitemhittest(hwnd, x, y, 0, 1, LVHT_ONITEMLABEL, TRUE, FALSE, TRUE, __LINE__);
|
||||||
/* outside possible client rectangle (to right) */
|
/* outside possible client rectangle (to right) */
|
||||||
x = pos.x + 500;
|
x = pos.x + 500;
|
||||||
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
||||||
test_lvm_hittest(hwnd, x, y, -1, LVHT_TORIGHT, FALSE, FALSE, __LINE__);
|
test_lvm_hittest(hwnd, x, y, -1, LVHT_TORIGHT, FALSE, FALSE, __LINE__);
|
||||||
test_lvm_subitemhittest(hwnd, x, y, -1, -1, LVHT_NOWHERE, FALSE, FALSE, FALSE, __LINE__);
|
test_lvm_subitemhittest(hwnd, x, y, -1, -1, LVHT_NOWHERE, FALSE, FALSE, FALSE, __LINE__);
|
||||||
|
y = (bounds.bottom - bounds.top) / 2;
|
||||||
|
test_lvm_hittest(hwnd, x, y, -1, LVHT_TORIGHT, FALSE, TRUE, __LINE__);
|
||||||
|
test_lvm_subitemhittest(hwnd, x, y, -1, -1, LVHT_NOWHERE, FALSE, FALSE, TRUE, __LINE__);
|
||||||
/* subitem returned with -1 item too */
|
/* subitem returned with -1 item too */
|
||||||
x = pos.x + 150;
|
x = pos.x + 150;
|
||||||
y = -10;
|
y = -10;
|
||||||
|
@ -2676,22 +2682,33 @@ static void test_hittest(void)
|
||||||
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
||||||
test_lvm_hittest(hwnd, x, y, -1, LVHT_NOWHERE, FALSE, FALSE, __LINE__);
|
test_lvm_hittest(hwnd, x, y, -1, LVHT_NOWHERE, FALSE, FALSE, __LINE__);
|
||||||
test_lvm_subitemhittest(hwnd, x, y, 0, 1, LVHT_ONITEMLABEL, FALSE, FALSE, FALSE, __LINE__);
|
test_lvm_subitemhittest(hwnd, x, y, 0, 1, LVHT_ONITEMLABEL, FALSE, FALSE, FALSE, __LINE__);
|
||||||
|
y = (bounds.bottom - bounds.top) / 2;
|
||||||
|
test_lvm_hittest(hwnd, x, y, -1, LVHT_NOWHERE, FALSE, TRUE, __LINE__);
|
||||||
|
test_lvm_subitemhittest(hwnd, x, y, 0, 1, LVHT_ONITEMLABEL, TRUE, FALSE, TRUE, __LINE__);
|
||||||
/* the same with LVS_EX_FULLROWSELECT */
|
/* the same with LVS_EX_FULLROWSELECT */
|
||||||
SendMessage(hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT);
|
SendMessage(hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT);
|
||||||
x = pos.x + 150; /* outside column */
|
x = pos.x + 150; /* outside column */
|
||||||
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
||||||
test_lvm_hittest(hwnd, x, y, 0, LVHT_ONITEM, FALSE, FALSE, __LINE__);
|
test_lvm_hittest(hwnd, x, y, 0, LVHT_ONITEM, FALSE, FALSE, __LINE__);
|
||||||
test_lvm_subitemhittest(hwnd, x, y, 0, 1, LVHT_ONITEMLABEL, FALSE, FALSE, FALSE, __LINE__);
|
test_lvm_subitemhittest(hwnd, x, y, 0, 1, LVHT_ONITEMLABEL, FALSE, FALSE, FALSE, __LINE__);
|
||||||
|
y = (bounds.bottom - bounds.top) / 2;
|
||||||
|
test_lvm_subitemhittest(hwnd, x, y, 0, 1, LVHT_ONITEMLABEL, TRUE, FALSE, TRUE, __LINE__);
|
||||||
MoveWindow(hwnd, 0, 0, 100, 100, FALSE);
|
MoveWindow(hwnd, 0, 0, 100, 100, FALSE);
|
||||||
x = pos.x + 150; /* outside column */
|
x = pos.x + 150; /* outside column */
|
||||||
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
||||||
test_lvm_hittest(hwnd, x, y, -1, LVHT_TORIGHT, FALSE, FALSE, __LINE__);
|
test_lvm_hittest(hwnd, x, y, -1, LVHT_TORIGHT, FALSE, FALSE, __LINE__);
|
||||||
test_lvm_subitemhittest(hwnd, x, y, 0, 1, LVHT_ONITEMLABEL, FALSE, FALSE, FALSE, __LINE__);
|
test_lvm_subitemhittest(hwnd, x, y, 0, 1, LVHT_ONITEMLABEL, FALSE, FALSE, FALSE, __LINE__);
|
||||||
|
y = (bounds.bottom - bounds.top) / 2;
|
||||||
|
test_lvm_hittest(hwnd, x, y, -1, LVHT_TORIGHT, FALSE, TRUE, __LINE__);
|
||||||
|
test_lvm_subitemhittest(hwnd, x, y, 0, 1, LVHT_ONITEMLABEL, TRUE, FALSE, TRUE, __LINE__);
|
||||||
/* outside possible client rectangle (to right) */
|
/* outside possible client rectangle (to right) */
|
||||||
x = pos.x + 500;
|
x = pos.x + 500;
|
||||||
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
||||||
test_lvm_hittest(hwnd, x, y, -1, LVHT_TORIGHT, FALSE, FALSE, __LINE__);
|
test_lvm_hittest(hwnd, x, y, -1, LVHT_TORIGHT, FALSE, FALSE, __LINE__);
|
||||||
test_lvm_subitemhittest(hwnd, x, y, -1, -1, LVHT_NOWHERE, FALSE, FALSE, FALSE, __LINE__);
|
test_lvm_subitemhittest(hwnd, x, y, -1, -1, LVHT_NOWHERE, FALSE, FALSE, FALSE, __LINE__);
|
||||||
|
y = (bounds.bottom - bounds.top) / 2;
|
||||||
|
test_lvm_hittest(hwnd, x, y, -1, LVHT_TORIGHT, FALSE, TRUE, __LINE__);
|
||||||
|
test_lvm_subitemhittest(hwnd, x, y, -1, -1, LVHT_NOWHERE, FALSE, FALSE, TRUE, __LINE__);
|
||||||
/* try with icons, state icons index is 1 based so at least 2 bitmaps needed */
|
/* try with icons, state icons index is 1 based so at least 2 bitmaps needed */
|
||||||
himl = ImageList_Create(16, 16, 0, 4, 4);
|
himl = ImageList_Create(16, 16, 0, 4, 4);
|
||||||
ok(himl != NULL, "failed to create imagelist\n");
|
ok(himl != NULL, "failed to create imagelist\n");
|
||||||
|
@ -2718,6 +2735,8 @@ static void test_hittest(void)
|
||||||
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
||||||
test_lvm_hittest(hwnd, x, y, 0, LVHT_ONITEMSTATEICON, FALSE, FALSE, __LINE__);
|
test_lvm_hittest(hwnd, x, y, 0, LVHT_ONITEMSTATEICON, FALSE, FALSE, __LINE__);
|
||||||
test_lvm_subitemhittest(hwnd, x, y, 0, 0, LVHT_ONITEMSTATEICON, FALSE, FALSE, FALSE, __LINE__);
|
test_lvm_subitemhittest(hwnd, x, y, 0, 0, LVHT_ONITEMSTATEICON, FALSE, FALSE, FALSE, __LINE__);
|
||||||
|
y = (bounds.bottom - bounds.top) / 2;
|
||||||
|
test_lvm_subitemhittest(hwnd, x, y, 0, 0, LVHT_ONITEMSTATEICON, TRUE, FALSE, FALSE, __LINE__);
|
||||||
|
|
||||||
/* state icons indices are 1 based, check with valid index */
|
/* state icons indices are 1 based, check with valid index */
|
||||||
item.mask = LVIF_STATE;
|
item.mask = LVIF_STATE;
|
||||||
|
@ -2732,6 +2751,8 @@ static void test_hittest(void)
|
||||||
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
||||||
test_lvm_hittest(hwnd, x, y, 0, LVHT_ONITEMSTATEICON, FALSE, FALSE, __LINE__);
|
test_lvm_hittest(hwnd, x, y, 0, LVHT_ONITEMSTATEICON, FALSE, FALSE, __LINE__);
|
||||||
test_lvm_subitemhittest(hwnd, x, y, 0, 0, LVHT_ONITEMSTATEICON, FALSE, FALSE, FALSE, __LINE__);
|
test_lvm_subitemhittest(hwnd, x, y, 0, 0, LVHT_ONITEMSTATEICON, FALSE, FALSE, FALSE, __LINE__);
|
||||||
|
y = (bounds.bottom - bounds.top) / 2;
|
||||||
|
test_lvm_subitemhittest(hwnd, x, y, 0, 0, LVHT_ONITEMSTATEICON, TRUE, FALSE, FALSE, __LINE__);
|
||||||
|
|
||||||
himl2 = (HIMAGELIST)SendMessage(hwnd, LVM_SETIMAGELIST, LVSIL_STATE, (LPARAM)NULL);
|
himl2 = (HIMAGELIST)SendMessage(hwnd, LVM_SETIMAGELIST, LVSIL_STATE, (LPARAM)NULL);
|
||||||
ok(himl2 == himl, "should return handle\n");
|
ok(himl2 == himl, "should return handle\n");
|
||||||
|
@ -2743,6 +2764,8 @@ static void test_hittest(void)
|
||||||
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
y = pos.y + (bounds.bottom - bounds.top) / 2;
|
||||||
test_lvm_hittest(hwnd, x, y, 0, LVHT_ONITEMICON, FALSE, FALSE, __LINE__);
|
test_lvm_hittest(hwnd, x, y, 0, LVHT_ONITEMICON, FALSE, FALSE, __LINE__);
|
||||||
test_lvm_subitemhittest(hwnd, x, y, 0, 0, LVHT_ONITEMICON, FALSE, FALSE, FALSE, __LINE__);
|
test_lvm_subitemhittest(hwnd, x, y, 0, 0, LVHT_ONITEMICON, FALSE, FALSE, FALSE, __LINE__);
|
||||||
|
y = (bounds.bottom - bounds.top) / 2;
|
||||||
|
test_lvm_subitemhittest(hwnd, x, y, 0, 0, LVHT_ONITEMICON, TRUE, FALSE, TRUE, __LINE__);
|
||||||
|
|
||||||
DestroyWindow(hwnd);
|
DestroyWindow(hwnd);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue