From: Jacob Czekalla jczekalla@codeweavers.com
Setting the order with HDM_SETORDERARRAY should also set the order of the listview. --- dlls/comctl32/tests/listview.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/dlls/comctl32/tests/listview.c b/dlls/comctl32/tests/listview.c index 2fb672cf7e8..8d21b8662a1 100644 --- a/dlls/comctl32/tests/listview.c +++ b/dlls/comctl32/tests/listview.c @@ -1672,7 +1672,7 @@ static void test_columns(void) HWND hwnd, header; LVCOLUMNA column; LVITEMA item; - INT order[2]; + INT order[2], ret_order[2]; CHAR buff[5]; DWORD rc;
@@ -1717,6 +1717,8 @@ static void test_columns(void) hwnd = create_listview_control(LVS_REPORT); subclass_header(hwnd);
+ header = (HWND)SendMessageA(hwnd, LVM_GETHEADER, 0, 0); + memset(&column, 0, sizeof(column)); column.mask = LVCF_WIDTH; column.cx = 100; @@ -1752,6 +1754,15 @@ static void test_columns(void)
ok_sequence(sequences, LISTVIEW_SEQ_INDEX, listview_setorderarray_seq, "set order array", FALSE);
+ /* HDM_SETORDERARRAY */ + order[0] = 1; + order[1] = 0; + SendMessageA(header, HDM_SETORDERARRAY, 2, (LPARAM)order); + SendMessageA(hwnd, LVM_GETCOLUMNORDERARRAY, 2, (LPARAM)&ret_order); + + ok(order[0] == ret_order[0], "expected %d, got %d.\n", order[0], ret_order[0]); + ok(order[1] == ret_order[1], "expected %d, got %d.\n", order[1], ret_order[1]); + /* after column added subitem is considered as present */ insert_item(hwnd, 0);