Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
January 05, 2020 How load icon from resource using LoadImage? | ||||
---|---|---|---|---|
| ||||
I am using this code to load icon from local directory, but I want to load icon from resource.res file: wndclass.hIcon = LoadImage( NULL, "icon.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE| LR_SHARED | LR_LOADTRANSPARENT); |
January 05, 2020 Re: How load icon from resource using LoadImage? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Marcone | On Sunday, 5 January 2020 at 13:33:35 UTC, Marcone wrote: > I am using this code to load icon from local directory, but I want to load icon from resource.res file: > > wndclass.hIcon = LoadImage( NULL, "icon.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE| LR_SHARED | LR_LOADTRANSPARENT); https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-loadimagea According to the docs, the first argument is NULL only for standalone images, otherwise you have to provide a valid HINSTANCE. By the way, have you managed to add the res file into the binary? My understanding is that the res file should be added into the exe file by the rc command before it can be used. |
January 05, 2020 Re: How load icon from resource using LoadImage? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Marcone | On Sunday, 5 January 2020 at 13:33:35 UTC, Marcone wrote: > I am using this code to load icon from local directory, but I want to load icon from resource.res file: > > wndclass.hIcon = LoadImage( NULL, "icon.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE| LR_SHARED | LR_LOADTRANSPARENT); You cannot load icons from res files. If you link your res file to the executable, you can load the icon using: LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(youriconid)); The function LoadImage from above loads an icon from the file named icon.ico, not from a res file. |
January 05, 2020 Re: How load icon from resource using LoadImage? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rumbu | On Sunday, 5 January 2020 at 15:13:17 UTC, Rumbu wrote:
> On Sunday, 5 January 2020 at 13:33:35 UTC, Marcone wrote:
>> I am using this code to load icon from local directory, but I want to load icon from resource.res file:
>>
>> wndclass.hIcon = LoadImage( NULL, "icon.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE| LR_SHARED | LR_LOADTRANSPARENT);
>
> You cannot load icons from res files.
>
> If you link your res file to the executable, you can load the icon using:
>
> LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(youriconid));
>
>
> The function LoadImage from above loads an icon from the file named icon.ico, not from a res file.
Very good! working using: LoadIcon(hInstance, MAKEINTRESOURCE(youriconid)); becouse GetModuleHandle(NULL) is undefined here.
|
January 06, 2020 Re: How load icon from resource using LoadImage? | ||||
---|---|---|---|---|
| ||||
Posted in reply to JN | On Sunday, 5 January 2020 at 13:52:27 UTC, JN wrote: > On Sunday, 5 January 2020 at 13:33:35 UTC, Marcone wrote: [snip] > > By the way, have you managed to add the res file into the binary? My understanding is that the res file should be added into the exe file by the rc command before it can be used. Sort of correct... but not strictly correct. Typically the resource compiler (such as Microsoft's rc.exe) compiles xyzfile.rc into xyzfile.res. xyzfile.res is then added into the exe by the linker during linking. |
Copyright © 1999-2021 by the D Language Foundation