2009年03月05日

微バグは仕様ということで(逃

時報時計のバグ修正をしている。


1.『Alt+Tab(略)アイコン化』にチェックを入れているとき限定のバグ。

フォーカスは他のアプリにある、かつ、画像表示状態のとき、アイコンを右クリックすると、画像を消し待機状態に入る。これは仕様。だが、このとき、通常、アイコンを右クリックすると出るべきメニューが出ない。正確には、一瞬出て(画像と共に)消える。

これは、
  1. アイコン右クリックに反応して、ポップアップメニューが出る。
  2. その過程で、必ずSetForegroundWindow()を呼んでフォアグラウンドにしなければならない(呼ばないと、ポップアップメニューが消えない)。
  3. ところで、『Alt+Tab(略)アイコン化』にチェックを入れていると、アプリケーションがアクティブになったとき、画像を消す。
  4. このとき、『ポップアップメニュー以外の項目にフォーカスが行く』とポップアップメニューは消える。Windows共通の仕様っぽい。
  5. 結果、ポップアップメニューは消える。
ということだ、ということまでは分かった。一度だけ、エラーコード021(俺用のエラーコード)を吐いた。俺としては3のときの処理をif()で分岐させればすべて解決すると思うのだが、その条件となる『ポップアップメニューが出ているか?』を検出する関数が見当たらない。正確には、C++ BuilderのTPopupMenuのプロパティやメソッドやイベントに見つからない。

うーむ・・・・・・まぁ、別にそういう仕様ってことで良いか(逃


2.他のアプリでも一部起こるバグ。

アイコンを右クリックしてメニューを出した状態で、Alt+Tab『タスク切り替え』を出すと、なぜか時報時計のアイコンがいる。時報時計以外のアプリを選択すると、消える。これは、手元で調べた結果、『Yahoo!メッセンジャー』『カスペルスキーインターネットセキュリティ』『DAEMON Tools』『Angry Chair』でも似たような現象が起こる。『Windows Live Messenger』『付箋紙21』『Hotmail Popper』では起こらない。

うーむ・・・・・・まぁ、他のアプリでも起こるみたいだし、ぶっちゃけどうでもいいか(逃


ラベル:時報時計
posted by 小川 at 17:05| Comment(0) | TrackBack(0) | 自作アプリ | このブログの読者になる | 更新情報をチェックする

最前面に表示するが、フォーカスは奪わない方法

『時報時計』を作る際に一番苦労したのは、画像表示の部分である。具体的に言うと、『フォーカスを奪わない』という仕様である。


 プログラム話の続きを読む
posted by 小川 at 16:35| Comment(4) | TrackBack(0) | プログラム/マ | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。