• ベストアンサー

ダイアログボックスのタスクバーアイコンを表示するには

BCC32で、C言語によりWin32 APIを用いたプログラムを勉強しております。 DialogBox()を使用すれば、ウィンドウ上に配置した各種コントロールのキーボード操作をWindowsに任せられて楽なので、メインウィンドウを非表示にして、ダイアログボックスによるアプリケーションを作っています。 ただし、この場合、タスクバーにアイコンが表示されません。 DialogBox() で作成したウィンドウについて、タスクバーにアイコンを表示させることは可能でしょうか? また、どのようにすれば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • FAY
  • ベストアンサー率49% (95/193)
回答No.2

>(そうしないと、タスクバーでのアプリケーションの切り替えが出来ないので) これオンリーで判断しました。 ダイアログボックスに拡張スタイル WS_EX_APPWINDOW を追加しましょう。

astronaut
質問者

お礼

EXSTYLE WS_EX_APPWINDOW で解決しました。 ありがとうございます。 なお、他の掲示板で得た別解として、DialogBox()の第3引数にNULLを指定して、トップレベルウィンドウにする、というものもありました。

その他の回答 (1)

回答No.1

開発環境が違いますが、 HICON hIcon として、 WM_INITDIALOL のメッセージ処理で、LoadIcon などの関数でアイコンを読み込み SendMessage( hdwnd, WM_SETICON, ICON_SMALL, ( LPARAM )hIcon ); で多分表示されると思いますが環境が違うので参考程度のないようです。 Visual C++ ようですが以下 http://www17.plala.or.jp/page-zero/programming-w05.html

astronaut
質問者

補足

回答ありがとうございます。 ご指摘の内容は、「タイトルバー」にアイコンを表示する方法ですよね。 今実現したいのは、「タスクバー」にアイコンを表示するということです。(そうしないと、タスクバーでのアプリケーションの切り替えが出来ないので) 何かご存じでしたら、お教え頂ければと思います。

関連するQ&A