[PATCH 1/7] comctl32/taskdialog: Add standard resources.

Zhiyi Zhang yi.gd.cn at gmail.com
Mon May 21 05:07:42 CDT 2018



On Mon 5 21 15:58, Nikolay Sivov wrote:
> On 05/17/2018 03:45 PM, Zhiyi Zhang wrote:
> 
>> Possibly. But I don't think that's good idea.
> 
> Why not?
> 
I was thinking better not have resource dependencies to user32.dll
if we can add it to comctl32.dll.

>>
>> commctrl.h has
>>> #define TD_WARNING_ICON        MAKEINTRESOURCEW(-1)
>>> #define TD_ERROR_ICON          MAKEINTRESOURCEW(-2)
>>> #define TD_INFORMATION_ICON    MAKEINTRESOURCEW(-3)
>>> #define TD_SHIELD_ICON         MAKEINTRESOURCEW(-4)
>> So that says it expect it from comctl32.dll.
> 
> It doesn't say that. Simple test like this fails for me on Windows:
> 
> ---
> +    {
> +        HICON hicon = LoadIconA(hinst, (WORD)-1);
> +        ok(hicon != NULL, "Unexpected hicon %p\n", hicon);
> +        hicon = LoadIconA(hinst, (WORD)-2);
> +        ok(hicon != NULL, "Unexpected hicon %p\n", hicon);
> +        hicon = LoadIconA(hinst, (WORD)-3);
> +        ok(hicon != NULL, "Unexpected hicon %p\n", hicon);
> +        hicon = LoadIconA(hinst, (WORD)-4);
> +        ok(hicon != NULL, "Unexpected hicon %p\n", hicon);
> +    }
> ---
> 
Right. However it also fails on user32.dll instance.
user32.dll do have those icons, with different ordinals.
I guess we could do a redirection to use resources in user32.dll.
What do you think?

>>
>> And as for arrows bitmaps. Their id need to be in order
>> for expando control implementation code to load them easily.
> 
> We'll need better looking arrows eventually anyway, either embedded, or created on the fly.
> 
How do you want me proceed then? Any tips?
I guess we could draw the arrows with code. It's just requires some effort.

>>
>> It's better if we make a copy.
>>
>> On Thu 5 17 17:11, Nikolay Sivov wrote:
>>>
>>> On 05/16/2018 07:14 PM, Zhiyi Zhang wrote:
>>>> Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
>>>> ---
>>>>    dlls/comctl32/comctl32.h                   |  18 +
>>>>    dlls/comctl32/comctl32.rc                  |  36 ++
>>>>    dlls/comctl32/idb_td_downarrow_hovered.bmp | Bin 0 -> 322 bytes
>>>>    dlls/comctl32/idb_td_downarrow_normal.bmp  | Bin 0 -> 322 bytes
>>>>    dlls/comctl32/idb_td_downarrow_pressed.bmp | Bin 0 -> 322 bytes
>>>>    dlls/comctl32/idb_td_uparrow_hovered.bmp   | Bin 0 -> 322 bytes
>>>>    dlls/comctl32/idb_td_uparrow_normal.bmp    | Bin 0 -> 322 bytes
>>>>    dlls/comctl32/idb_td_uparrow_pressed.bmp   | Bin 0 -> 322 bytes
>>>>    dlls/comctl32/idi_td_error.ico             | Bin 0 -> 5430 bytes
>>>>    dlls/comctl32/idi_td_error.svg             | 489 +++++++++++++++++++++
>>>>    dlls/comctl32/idi_td_info.ico              | Bin 0 -> 5430 bytes
>>>>    dlls/comctl32/idi_td_info.svg              | 385 ++++++++++++++++
>>>>    dlls/comctl32/idi_td_shield.ico            | Bin 0 -> 5430 bytes
>>>>    dlls/comctl32/idi_td_shield.svg            | 373 ++++++++++++++++
>>>>    dlls/comctl32/idi_td_warning.ico           | Bin 0 -> 5430 bytes
>>>>    dlls/comctl32/idi_td_warning.svg           | 415 +++++++++++++++++
>>>>    16 files changed, 1716 insertions(+)
>>>>    create mode 100644 dlls/comctl32/idb_td_downarrow_hovered.bmp
>>>>    create mode 100644 dlls/comctl32/idb_td_downarrow_normal.bmp
>>>>    create mode 100644 dlls/comctl32/idb_td_downarrow_pressed.bmp
>>>>    create mode 100644 dlls/comctl32/idb_td_uparrow_hovered.bmp
>>>>    create mode 100644 dlls/comctl32/idb_td_uparrow_normal.bmp
>>>>    create mode 100644 dlls/comctl32/idb_td_uparrow_pressed.bmp
>>>>    create mode 100644 dlls/comctl32/idi_td_error.ico
>>>>    create mode 100644 dlls/comctl32/idi_td_error.svg
>>>>    create mode 100644 dlls/comctl32/idi_td_info.ico
>>>>    create mode 100644 dlls/comctl32/idi_td_info.svg
>>>>    create mode 100644 dlls/comctl32/idi_td_shield.ico
>>>>    create mode 100644 dlls/comctl32/idi_td_shield.svg
>>>>    create mode 100644 dlls/comctl32/idi_td_warning.ico
>>>>    create mode 100644 dlls/comctl32/idi_td_warning.svg
>>>>
>>>>
>>> Can we load this from user32?
>>>
>>>
> 



More information about the wine-devel mailing list