| 672 | |
| 673 | WNDPROC quick_header_window_proc_prev; |
| 674 | LRESULT CALLBACK quick_header_window_proc( |
| 675 | _In_ HWND hwnd, |
| 676 | _In_ UINT uMsg, |
| 677 | _In_ WPARAM wParam, |
| 678 | _In_ LPARAM lParam) |
| 679 | { |
| 680 | switch (uMsg) { |
| 681 | case HDM_LAYOUT: /* adjust the height of the header */ { |
| 682 | QuickListData* data = (QuickListData*)GetPropW(GetParent(hwnd), quick_list_prop); |
| 683 | if (!data) { |
| 684 | DebugOStream() << L"quick_header prop is null\n"; |
| 685 | break; |
| 686 | } |
| 687 | if (!data->list_header) data->try_get_header(); |
| 688 | |
| 689 | // doesn't work as expected |
| 690 | //return SendMessageW(data->list_header, uMsg, wParam, lParam); |
| 691 | |
| 692 | LRESULT r = CallWindowProcW(quick_header_window_proc_prev, hwnd, uMsg, wParam, lParam); |
| 693 | if (!data->list_header) // real case |
| 694 | return r; |
| 695 | |
| 696 | HDLAYOUT* layout = (HDLAYOUT*)lParam; |
| 697 | RECT list_header; |
| 698 | GetWindowRect(data->list_header, &list_header); |
| 699 | if (int height = list_header.bottom - list_header.top) // necessary |
| 700 | layout->pwpos->cy = layout->prc->top = height; |
| 701 | |
| 702 | return r; |
| 703 | } |
| 704 | } |
| 705 | return CallWindowProcW(quick_header_window_proc_prev, hwnd, uMsg, wParam, lParam); |
| 706 | } |
| 707 | |
| 708 | WNDPROC quick_list_window_proc_prev; |
| 709 | LRESULT CALLBACK quick_list_window_proc( |
nothing calls this directly
no test coverage detected