3

データ認識コントロールを含むフォームがタイトル バーから閉じられ、アクティブなコントロールのデータが変更されている場合、その変更が基になるデータ ソースに反映されないことに気付きました。私はこれを CM_EXIT メッセージがコントロールに対して決して発火しないことにたどり着きました。

どのコントロールが最後にフォーカスされていたとしても、これらの変更がデータ ソースにプッシュされるようにするにはどうすればよいですか?

4

5 に答える 5

0

参考までに。コントロールを強制的に終了させるクロスプラットフォームの方法は次のとおりです。

SelectNext(ActiveControl, True, True);

これは、同じ親コンテナー内に少なくとも 1 つの他の兄弟を持つコントロールに対して機能します。

于 2014-02-24T18:56:16.223 に答える
0

OnCloseイベント ハンドラーに以下の行を追加するだけです。

Perform(WM_NEXTDLGCTL, 0, 0);

フォーカスを次のコンポーネントに移動させTabOrder、現在のコンポーネントからフォーカスを削除することで、値をフィールドに送信します。

于 2013-09-23T14:49:39.893 に答える