• ベストアンサー

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

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

  • "今後このダイアログボックスを表示しない。"を再表示させるには?

    Windowsで、各種アプリケーションを立ち上げたり使用しているときに出てくるダイアログボックスの中で、"今後このダイアログボックスを表示しない。"という項目があるものがあります。チェックボックスにチェックを入れると、次回からはそのダイアログボックスは出てこなくなりますが、このダイアログボックスを再び表示するようにさせたい場合に何か方法はあるのでしょうか。出来れば再インストールは避けたいのですが.....

  • ダイアログボックスが画面の外に表示されている

    あるアプリケーションのダイアログボックスが、画面の外に表示されるようになり、操作できなくなってしまいました。 アプリケーション本体のウィンドウは画面の中にあります。 本体のウィンドウなら、下のところに表示されているアイコンを右クリックして「移動」を選択すればいいのですが、ダイアログが表示されている状態で右クリックを行っても無反応です。 どうしたらいいでしょうか。 よろしくお願いいたします。

  • タスクバーアイコンが非表示になります。

    XPパソコンを使用しております。タスクバーにある音量アイコンが表示されなくなりました。コントロールパネルからのサウンド、音声、およびオーディオデバイスからのタスクバーに音量アイコンを配置するにはチェックが入っています。チャックをはずしてもう一度チェックをつけて適用にすると表示されたりします。しかしシャットダウンをしてもう一度起動させるとアイコンがまた非表示になってしまいます。何か直す方法などありますでしょうか?宜しくお願いします。 それと音量アイコンの他に何点かアイコン非表示になっているものがあります。一度ログオフしてからログインすると今まで消えていたアイコンが表示されますが再起動などするとやはり非表示となってしまいます。

  • C言語 ダイアログボックスについて

    C言語でダイアログボックスを作っています。 閉じるボタンを押しても、ウィンドウが閉じないようにするには、どうしたらいいですか? ちなみに、閉じるボタンを表示しなくするのではなく、閉じるボタンは押せるのですがおしても無反応(操作を設定していないボタンみたいな)にすることはできませんか? 閉じるときに、ウィンドウだったらWM_CLOSEが送られてきますよね、それのダイアログ版というかがあれば閉じる作業をする前にreturnしてしまえばいいのですが・・・もしあったら教えてください。 コンパイラはBccです。

  • VC++ダイアログボックスの表示更新がわかりません

    現在ダイアログボックスにスタティックコントロールを配置し、表示更新する際不明な点があります。VC6.0 MFCです。 1、ダイアログボックス上のコントロールに、作成したビットマップを表示させる際、OnInitDialog関数内で、Bitbiltしていますが、表示されません。 ボタンクリックイベント等で、同様の手順でBitbiltすると表示されます。 これはなぜなのでしょうか? また、ダイアログボックスが表示された際にBitmapを表示するにはどうすればよいでしょうか? 2、また、表示されたBitmapはダイアログボックスを動かしたり、隠れたりすると消えてしまいます。 再表示を自動的にさせるにはどうすればよいでしょうか?(OnDraw関数のようなものがあるのでしょうか?) 初歩的な質問で申し訳ありませんが、よろしくお願いいたします。

  • C言語 ダイアログボックスのアイコン

    ダイアログボックスに、メッセージボックスではMB_ICONQUESTIONと指定すれば表示できたアイコンを表示したいと思うのですが、どうすればいいですか? 求めるものがはい、いいえの2通りならメッセージボックスで作ればよかったのですが分岐が複数に及ぶのでダイアログボックスにしなくてはならなくなりました。しかし、やっぱりアイコンがないと味気ないのでつけようと思ったんですが方法がわからなくて質問しました。 環境はWin7、Bccです。 回答よろしくお願いします。

  • コモンダイアログボックスの並び順が逆順になって戻らない。。

    OSは、Windows XP homeです。 いろいろなアプリケーションで 「ファイルを開く」や「名前をつけて保存」する時などに表示される 「コモンダイアログボックス」について質問です。 この「コモンダイアログボックス」、通常ならば表示したときに [名前の正順]でアイコンが並んでいると思うのですが、 これがなぜか、[名前の逆順]で表示されるようになってしまいました。 特定のアプリケーションだけでなく、全てのアプリケーションで同じ症状です。 いちいち、[右クリック]-[アイコンの整列]-[名前]で元に戻すのも 全アプリケーションで毎回となると手間に感じます。 どうすれば、以前のように「コモンダイアログボックス」が[名前の正順]で開かれるのでしょうか? ちなみに、一度[名前の正順]に戻しても、コモンダイアログボックスを開き直すと また[名前の逆順]表示に戻ってしまいます。 どうか直し方を教えてください、お願いします。

  • タスクバーアイコンについて

    いつからか?タスクバーに知らないアイコンが表示されているのですが(1)いったい何のアプリケーションなのか調べようとマウスポインタをアイコンの上に持っていっても説明が表示されない (2)そのアイコンをクリックしても何ら反応がない (3) 何かインストールされているのか?と思い、設定→コントロールパネル→アプリケーションの追加と削除を参照しても該当するものが見つからない。 (4) ファイル名を指定して実行から、msconfigで見ても分からない。(5) 何か悪いウイルスに感染していないか? スパイウェアなどがインストールされていないか?セキュリティーソフトで検索しても何も問題ない。これらの(1)~(5)以外でタスクバーに表示されているアイコンを調べる方法があれば教えていただきたいのですが。フォーマットするのはかなり面倒なもので・・・ご面倒をおかけいたしますがなにとぞよろしくお願いいたします。

  • Windows7 タスクバーアイコンを移動したい

    Windows XPから、Windows7 ProfessionalのPCに買い換えた者です。 現在迄、タスクバーは画面下側に配置して使っています。  XPの時には、よく使うファイルやアプリケーションのショートカットをタスクバーの左側部分にドラッグアンドドロップで置けたのですが、7にしてからどうしてもその機能が見つかりません。 アプリケーションをタスクバーに置くと言う意味では”タスクバーにこのプログラムを表示する”と言う機能を見つけましたが、アプリケーション未起動時はアイコン表示ですが、押すとアイコンがタスクバーのボタンになってしまいショートカットという意味ではないようです。 また、最もよく使っていたデスクトップへのショートカットが、画面右下の時計のさらに右の通知領域なる場所に移動してしまい、これも動かせません。 タスクバー上にファイル、アプリケーションやデスクトップのショートカットを表示させる方法をご教示お願いいたします。

  • ダイアログボックス

    アウトルックのダイアログボックスが 10数個開いてしまったらしくて、 ダイアログボックスを閉じてから ウインドウを閉じてください、という表示がでているにも関わらず 閉じることができません。 どうもしようもなくて困っています。

専門家に質問してみよう