0

私は、C++ で記述され、MFC を使用する Windows 用の非常に大きく複雑なアプリケーションに取り組んでいます。

私はこのバグに取り組んでおり、ユーザーがバルーン ツールチップを押しても、タイムアウト後にのみ閉じません。

イベントを取得しNIN_BALLOONUSERCLICKてツールチップを閉じることができましたが、ユーザーが右上隅の「X」ボタンを押したときに発生したイベントをキャッチできないようです。

誰でも私を助けることができますか?どのイベントを探す必要がありますか? 私は約 3 日間インターネットを検索しましたが、誰も方法を知らないようです。

閉じるボタンの「×」を消す方法も教えていただけると助かります!

4

1 に答える 1

1

そのようなイベントが見つからないのは、存在しないからです。ユーザーがバルーンのどこかをクリックしたためにバルーンが閉じられたのか、ユーザーが閉じる (「X」) ボタンをクリックしたためにバルーンが閉じられたのかを区別することはできません。

詳細については、Raymond Chen のブログの次の記事を参照してください:ユーザーが [X] ボタンをクリックしたときに通知アイコンがメッセージを取得しないのはなぜですか?

基本的に、ユーザーに迷惑をかけるなどの悪いことをしないようにするためのイベントは存在しません。ユーザーがバルーン通知を閉じた方法に基づいて、別のことを行う必要があるという理由はまったくありません。

「X」ボタンを非表示にすることは、間違いなく間違った選択です。それを求めると、まさにWindows シェル チームが私たちを守ろうとしていた開発者のように聞こえます。あなたのアプリケーションの無防備なユーザーとして、誰かが私たちを支持してくれることをうれしく思います. ユーザーは、物事を却下できることを好みます。ユーザビリティ調査では、「キャンセル」ボタンがない場合、ユーザーにとって非常にストレスがたまり、混乱することが繰り返し示されています。合理的で使いやすいデザインの制約内で作業する必要があります。

NIN_BALLOONUSERCLICKは正しい選択です。ユーザーがツールチップをクリックすると、ツールチップは閉じられます。ドキュメントでは、利用可能なさまざまな通知のすべてについて、より詳細に説明しています。

于 2011-07-17T13:10:00.263 に答える