3

Window がいつ入力フォーカスから外れるかを知る必要があるため、CWnd の OnKillFocus() メソッドをオーバーロードしました。

ただし、別のアプリケーション (alt+tab) にフォーカスしたり、ウィンドウを最小化したりしても、このメソッドは呼び出されません。しかし、最小化から復元すると、メソッドが呼び出されます。これらは、このメソッドをトリガーする意図された時間ですか?

4

2 に答える 2

1

アプリケーションがスイッチアウトされたときに確実に通知される必要がある場合は、CWnd :: OnActivateApp()ハンドラーが必要になると思います。

于 2008-10-16T14:17:05.037 に答える
1

OnKillFocus()は通常、フォーカスを取得するという概念を持つコントロール(ボタン、編集ボックス、リストボックスなど)にのみ一貫して使用されます。通常、CWndはフォーカスを受け入れないため、それに依存することはできません。驚いています。あなたはそれをまったく手に入れます。

WM_ACTIVATEAPP上記に加えてWM_ACTIVATE、同じアプリケーション内でウィンドウを切り替えるときにトラップしたい場合もあります。

于 2008-10-16T14:23:08.923 に答える