トップページ > 記事閲覧
SetWindowIconID()のアイコン書き換えがうまくいかない(VS2022)
名前:つらリーヌ 日時: 2024/09/27 19:30

ttps://dxlib.xsrv.jp/dxtec.html#M2 ttps://dxlib.xsrv.jp/function/dxfunc_other.html#R11N2 こちらを参考に、exeファイルのアイコンの書き換えを行いました。 ですが、SetWindowIconID()を使用してもタイトルバーのアイコンが変わりませんでした。 SetWindowIconID()の戻り値は0で、log.txtには何も出力がありません。 icoファイルを各階層に置いてみたり色々試したのですが、うまくいきません。 @ SetWindowIconID()を使う場合、"exe実行時に"icoファイルが有効なパスに置かれてる必要はありますか? A 原因として考えられることはありますか? また、もし何か切り分け方法があればご教示願いたいです。 Visual Studio 2022 を使用しています。 以下、各ファイルに記載している内容と実行順です。 【resource.h】 #define IDI_ICON 101 【resource.rc】 IDI_ICON ICON "..\\pic\\favicon.ico" 【main.cpp】(関係ありそうな関数のみ抜粋) SetWindowIconID( IDI_ICON ); ChangeWindowMode( TRUE ); SetWindowStyleMode(7); SetUseDXArchiveFlag( TRUE ); SetMainWindowText( "hogehoge" ); DxLib_Init();
メンテ

Page: 1 |

Re: SetWindowIconID()のアイコン書き換えがうまくいかない(VS2022) ( No.1 )
名前:管理人 日時:2024/09/27 21:07

> @ SetWindowIconID()を使う場合、"exe実行時に"icoファイルが有効なパスに置かれてる必要はありますか? いえ、icoファイルはビルド時に使用され、exeファイルの中に組み込まれますので、exe実行時にはicoファイルは不要です > A 原因として考えられることはありますか? また、もし何か切り分け方法があればご教示願いたいです。 resource.rc の一行目に #include "resource.h" という記述を追加すれば解決する気がします 若しくは resource.rc の IDI_ICON ICON "..\\pic\\favicon.ico" こちらの記述を 101 ICON "..\\pic\\favicon.ico" このように IDI_ICON の代わりに 101 にすれば良いかと思います よろしければお試しください m(_ _)m
メンテ
Re: SetWindowIconID()のアイコン書き換えがうまくいかない(VS2022) ( No.2 )
名前:つらリーヌ 日時:2024/09/27 22:56

resource.rc の一行目に追加する方法、101 に書き換える方法、どちらでもうまくできました。 ありがとうございます。 resource周り詳しくないのですが、このミスり方でビルドエラー的なものは起きないんですね。。。
メンテ
Re: SetWindowIconID()のアイコン書き換えがうまくいかない(VS2022) ( No.3 )
名前:管理人 日時:2024/09/28 23:08

> resource周り詳しくないのですが、このミスり方でビルドエラー的なものは起きないんですね。。。 はい、アイコンに設定するIDは数値である必要は無いので、#include "resource.h" が無い場合の IDI_ICON ICON "..\\pic\\favicon.ico" は、IDI_ICON が 101 に置き換えられませんが、ビルドエラーにはならないのです… ( その代わり SetWindowIconID( 101 ); を実行しても『101というIDが振られたアイコンは無いよ』となり アイコンの設定が失敗します )
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存