タスクボタンのアイコンが変わってしまう。 WinXP,VB5
タスクバーのプロパティで「同様のタスクバーボタンをグループ化する。」に設定している環境で、タスクボタンのアイコンが、フォームのプロパティで設定したものになりません。
説明しにくいのですが、
下記のプログラムは再現可能なように簡略化したものです。
フォームにコマンドボタンを貼り付けて次のプログラムを実行すると、フォームが新しく表示されますが2個目のフォームが表示された時点でタスクバーのアイコンがLoadPictureでロードしたアイコンではなく初期設定のもの(白い平行四辺形で上が緑色のアイコン)に戻ってしまいます。
Private Sub Form_Load()
Me.Icon = LoadPicture("aaa.ico")
End Sub
Private Sub Command1_Click()
Set FormA = New Form1
FormA.Show
End Sub
コマンドボタンをクリックするたびに新しくフォームが開くのですか、その開いたフォームの左上隅のアイコンはLoadPictureで指定したものになっているのですが、タスクボタンのアイコンは何も指定してないときのアイコンになってしまいます。
正常に表示するにはどうすればよろしいでしょうか。うまく説明できないのですが、ご教授のほどよろしくお願い致します。
フォームのアイコンがアプリ(***.exe)のアイコンに「グループ化」されているのでは。
我龍院さん、ありがとうございます。
> フォームのアイコンがアプリ(***.exe)のアイコンに「グループ化」されているのでは。
Form1のプロパティウインドウでアイコンを指定して、プロジェクトのプロパティウインドウでアプリのアイコンをForm1のアイコンに指定しても同じ状況でした。
読みづらい文章で申し訳ありませんがよろしくお願いします。
>フォームのアイコンがアプリ(***.exe)のアイコンに「グループ化」されているのでは。
やってみたところ、こうはなりませんでした。(^^;
そちらの環境では、グループ化された時にフォームのデフォルトのアイコンになってしまうのですか、
それともグループ化されなくとも、2番目のフォームからデフォルトのアイコンになるのですか?
少なくとも、私の XP & VB6 の環境では、グループ化された時にデフォルトのフォームのアイコンに変わります。
もしそうであればこれは仕様ということに・・・
我龍院さん、何度もありがとうございます。
こちらの環境では、タスクバーのプロパティで「同様のタスクバーボタンをグループ化する。」でチェックをはずしているときには、一つ目のタスクボタンにはForm1のアイコンが表示されて、二つ目以降もForm1のアイコンが表示されますが、「同様のタスクバーボタンをグループ化する。」でチェックをしているときには、2つ目が表示されるとき(つまりグループ化されて実際はタスクボタンは一つのまま)、グループ化されたタスクボタンのアイコンがデフォルトのアイコンに変わってしまいます。
我龍院さんの場合もこれと同じということでしょうか?
もしそうでしたら、例えばインターネットエクスプローラーみたいに、同じプロセスで複数の同じフォームを表示させたときも、タスクボタンがインターネットエクスプローラーのアイコンのままになる、というようにする方法はございませんでしょうか?
重ね重ねすみませんが、ご教授のほどよろしくお願い致します。
>我龍院さんの場合もこれと同じということでしょうか?
そのとおりです。
VBで作成したアプリは全て、デフォルトのフォームのアイコンになるようです。
すいません。なぜなのかわからないのですが、なぜか突然状況が変わっていました。
ふとタスクバーを見ると、なぜかタスクバーのグループ化されたタスクボタンのアイコンが、Form1のアイコンになっていました。タスクバーのプロパティで
「同様のタスクバーボタンをグループ化する。」の項目のチェックをはずしたり付けたりいろいろしているうちになぜかそのような状況になっておりました。
いつまた元に戻るかしれませんが。今のところ望んでおりました結果が得られました。
一体、どうしてこのようなことが起こるのかわかりませんが、環境によっていろいろ変わるVBの仕様ということでこの質問は解決とさせていただきます。
貴重なお時間をさいて下さって、本当にありがとうございました。
ツイート | ![]() |