2017-03-23 11 views
2

私のC++アプリケーションでGUIを構築するのに、nanaを使用しています。これは基本的にうまくいきます。しかし、私はトラブルのWindowsの下のウィンドウのアイコンを設定します:nana C++ GUIアプリケーションでウィンドウアイコンを設定する

nana::API::window_icon_default(nana::paint::image("hunger.ico")); 

実行ファイルと同じフォルダ内のファイルhunger.icoは間違いなくありますが、私はそれをダブルチェック。そのアイコンファイルのサイズは32x32(または16x16)です。また、私はそうのように、アイコンファイルへのフルパスを取得しようとしました:

wchar_t buffer[MAX_PATH]; 
DWORD len = sizeof(buffer); 
GetModuleFileName(nullptr, buffer, len); 
std::wstring ws(buffer); 
// concatenate ws and "hunger.ico" here 

をしかし、私はVS2015の中から(コンソール)アプリケーションを実行すると、デフォルトのウィンドウのアイコンが使用されています。私がここで紛失しているものは何ですか?

答えて

0

私はJinhaoが実行中のプログラムにアイコンをロードするために問題を解決することを願っています。

...しかし、わかりませんが、あなたが望むのは、あなたのico/bmpでilustratedされているWindowsエクスプローラでも.exeファイルを持っていれば、それを.exeに含める必要があります。おそらくナナだけではできないのです。私はVSプロジェクトにリソースとしてアイコンを追加することでその "問題"を解決しました:ソリューションエクスプローラで、右クリックし、Add ... a Resource ...アイコンをピッキングする、新しいことができます...アイコンを起動しますあなたがあなたのアイコンに任意の画像フォーマットをインポートできるエディタコンパイル時にのみ、また実行時には、イメージファイルが必要になります。

1

この呼び出しはうまく動作します。このアイコンは、アプリケーションウィンドウのタイトルバーとタスクバーに表示されます。

あなたは申込書のハンドルを渡す必要があり
nana::API::window_icon(
    myform.handle(), 
    nana::paint::image("myicon.ico")); 

(なぜ?(window_iconべきではありません)フォームを受け入れ、自分自身のためにハンドルを抽出?)とアイコンファイルが持つ作業フォルダにする必要があります異なる解像度が必要です

関連する問題