コントロールを使用してTNumberBox
(少なくとも Windows では、おそらく他のプラットフォームでも)、新しい値を入力し、ボタン ( TButton
) を押して変更を保存すると、TNumberBox.Value
プロパティを読み取ると、編集が行われる前の元の値が返されます。 . コントロールがフォーカスを失うまで、この値にはアクセスできません。
変更を保存するために使用されるCanFocus
ボタンで、アプリのすべてのボタンとともに、そのプロパティを意図的に無効にしました。これは、私が使用しているスタイル (Jet) では、フォーカスされたボタンがひどく見えるためです (暗い灰色の背景に黒いテキスト)。言うまでもなく、モバイル プラットフォームでは、私の場合、フォーカスは実質的に役に立ちません。
CanFocus
それ以外の場合、この保存ボタンを無効にしないと、フォーカスが から適切に取り除かれTNumberBox
、そのValue
プロパティは問題ありません。ただし、CanFocus
保存ボタンを無効にすると、このコントロールからフォーカスが外れることがないため、そのValue
プロパティを読み取ると古い値が返されます。
Value
保存ボタンを に変更せずに、プロパティが正しい新しい値を返すようにするにはどうすればよいCanFocus
ですか?
KillFocusOnReturn
ユーザーはオプションではない「Return」または「Enter」を押す必要があることを認識する必要があるため、有効にすることは役に立ちません。
ノート
イベントを利用した場合も、この問題は解決しませんTNumberBox.OnChangeTracking
。新しい値を読み取れない場合、このイベントがどのように役立つかわかりません。