文字列値を取るテキストボックスがあります。フォーカスが失われると、特定の機能 (機能 1 など) を実行します。しかし、ウィンドウにフォーカスを失ったとしても、この OnFocus イベントがトリガーされます。
次のコードがあるとします:
classA::OnTextBoxFocus()
{
CWnd* pCurrentFocus = GetFocus();
// if focus event execute function 1
}
ここで、アプリケーション ウィンドウがアクティブかどうかを調べるために、チェックを入れたいと思います。ウィンドウがアクティブな場合にのみ、OnFocus
イベントがトリガーされます。
投稿を通じて GetActiveWindow() または GetForegroundWindow() を使用することを学びました「現在のウィンドウがアクティブなウィンドウかどうかを判断しますか?(StackOverflow)」
ただし、このチェックを入れるのは難しいと思います。例を通して、実装方法を理解するのを手伝ってもらえますか?