- - PR -
マウスイベントとタスクバー処理の関係
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-10-25 19:07
はじめまして,今ツールを作っていまして,以下の問題に直面しています。解決方法をご存知であればよろしくお願いいたします。
フォームにボタンを作成して,ボタンのBackColorを黒にして,そのボタン上にマウスポインタが通った場合(MouseEnterイベント),色を白にする。マウスポインタがボタンから離れると,色は黒に戻る(MouseLeaveイベント)。このフォームを表示させるときには事前にShowInTaskBarをFalseにする。ボタンを押すとShowInTaskBarをTrueにしてタスクバー上に表示させるようにする。 上記のような簡単なツールを作りました。ボタンを押す前はマウスイベントが常に有効になって動いていたのですが,ボタンを押した後,マウスイベントが一切効かなくなりました(マウスを押した時点でボタンの色は白になり,それ以降色は変化しません)。どうもタスクバーの処理を入れているのが問題なのですが,今私は上記処理において,ボタンクリック後もマウスイベントが有効になってほしいのです。 .NET Framework1.0も同じ動作をしていました。私はバグだと思っていまして,1.1で直ると思っていたのですが,いまだに同じ処理が行われます。 もしいい解決方法がありましたら,宜しくお願いいたします。 | ||||
|
投稿日時: 2004-10-25 23:29
南部です。
こちらでも再現できました。 いや〜、こんなんよく見つけましたねぇ。 #原因はハンドルの再作成かな? #なんか、イベントがらみでプロックされているのかなぁ で、とりあえず回避できました。
のように、はさんでみて下さい。 こちらでは、これで動きました。 動作環境は Window Server 2003 .NET Framework 1.1 SP1 です。 | ||||
|
投稿日時: 2004-10-26 09:34
南部様
早速のお返事ありがとうございます。 はい,問題なくできるようになりました。 1.0の時もいろいろ調べてましてバグだと思い込んでいました。 ありがとうございました。 | ||||
|
投稿日時: 2004-10-26 20:54
Win32APIの仕様が絡んでいそうです。
ms-help://MS.MSDNQTR.2004OCT.1041/shellcc/platform/shell/programmersguide/shell_int/shell_int_programming/taskbar.htm "2004OCT"の部分を、VS.NET2003の場合は"2003FEB"に、その他のMSDNの場合は適切に変更してください。 「Task Bar」というタイトルの文書が出てきます。メニューからだと、「ユーザー インターフェイス デザインおよび開発→User Interface Design and Development (英語)→Windows Shell→SDK→Windows Shell→Shell Programmer's Guide→Intermediate Shell Techniques→Imtermediate Shell Techniques: Programing the Shell→Task Bar」
リアルタイムに変更するのは、Win32API的には、「仕様外」なのかな? _________________ | ||||
|
投稿日時: 2004-10-27 13:09
Jitta様
yu-yuでございます。 お返事ありがとうございます。 ちょっとこのSiteを見てみます。 おっしゃる通り,使い方が仕様外なのでしょうかね? |
1