1

時間入力を取得できる CEdit コントロールがあります。ここで、この入力を hh:mm:ss の形式で取得します。現在、時間、分、および秒に別の CEdit コントロールを使用しています。ユーザーが時間、分、秒を区切るためにコロンで入力する必要があることはわかっていますが、これはユーザーにとって混乱を招くと思います。

実際には、コントロールにコロンを表示し、コントロールのさまざまなセクションをタブストップにして、ユーザーが正確に何時に入力しているかを明確にしたいのです。私はこれを他の場所で見たことがあることを知っています。自分でそれを行う方法がわかりません。

エポック時間やその他のタイプのシステム時間は使用せず、独自の時間カウントを使用しているため、これらは 3 つの個別の文字列として入るのが理想的です。(つまり、ファイルに含まれるデータ サンプルの数。) つまり、毎回、私の時計はゼロから始まり、そこからカウントアップします。

ありがとう

ダン

4

2 に答える 2

0

各 WM_CHAR (または必要に応じて WM_KEYUP) を処理し、ユーザーの入力に応じて編集ボックス内のテキストを再フォーマットする必要があります。VK_TAB のメッセージを処理し、適切に選択を設定します。

于 2009-08-04T22:53:34.693 に答える
0

テキストの再フォーマットは簡単ですが、ユーザーが入力している間にコロンを挿入するのではなく、フォーカスメッセージが失われるまで待ちますが、特に文字を編集または削除する必要がある場合は混乱します.

VK_TAB を取得することでフィールド内にタブ ストップを実装できますが、これを行うかどうかはわかりません。ユーザーは、コントロール内の位置ではなく、次のコントロールにジャンプするタブに慣れています。

これを行うもう 1 つの方法は、3 つの別個のコントロールを用意し、ユーザーが最初の入力に十分な文字を入力したか、タブ (またはコロン) を入力したことを検出して、自動的に次のコントロールにフォーカスを切り替えることです。これは、IP_ADDRESS コントロールが行うことです。

于 2009-08-04T22:58:30.223 に答える