[PATCH 1/7] comctl32/taskdialog: Add standard resources.
Nikolay Sivov
nsivov at codeweavers.com
Mon May 21 05:35:44 CDT 2018
On 5/21/2018 1:07 PM, Zhiyi Zhang wrote:
>
> 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.
You don't need to load using user32 hinstance explicitly, if that's what
you mean. LoadIcon(NULL, IDI_SHIELD) implies it.
>
>>> 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?
I think you only need to map from TD_* constants to IDI_* constants
using a simple switch.
>
>>> 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