日付の入力にTDateTimePickerを使おうとしているのですが
日付のフォーマットをYYYY/MM/DDとした場合、
年を入力後/を入力しないと月に移動しないので
入力効率を良くするために年を入力後/を入力せずに
月の部分に移動したいのですが(続いて日の部分)
どのようにすれば良いんでしょうか?
もしくは、このコンポーネント以外に良い方法がありますか?
単純なEditMaskだと変な日付が入力されるので
日付チェックが必要なため使いたくありません。
年、月、日で別々のEditにしたり、ComboBoxにして
動作についてそれぞれのイベントを記述するのは
どうでしょうか?
決め細やかな制御しやすいと思います。
日付チェックは別で実装するとよいのでは?
おっ,日付入力ですか.では宣伝,宣伝.コンポーネントでしたら.
「日付入力 コンポーネント Delphi」でググルと
拙作(Fusaさんの方法で作成した)のと
http://www.avsoft.jp/products.htm
とが最初にでてきますね.でも,ネット上は既に検索済みでしょうから.
後は,
http://www.delphianworld.com/direct.html?id=LE0030
http://www.delphianworld.com/direct.html?id=LE0047
http://www.delphianworld.com/direct.html?id=LE0009
http://homepage2.nifty.com/t-katochin/ のコンポーネントに
とこでしょうか.ソースがついているのもありますから,参考になるで
しょう.
ほとんどのコンポーネントが年、月、日と区切っているので
同じように入力が面倒ですね。
また別々のEditにすると修正箇所が増えるのでやりたくありません。
別の方法として考えたのですがTDateTimePickerで入力中のカーソルの
位置を判断して年の最後の桁で入力したら月の頭の桁に移動させると
いうのを考えたのですが入力ーソルの位置を拾うことできるか
どうかがわかりません。
よろしくお願いします。
TDateTimePickerを使うのであればわざわざキーボードから入力せずに
素直にカレンダーから入力すれば?
ホストシステムからの移行なので
キーボード入力をメインで使いたいので
日付を入力するのにマウスを使いたくないというのが理由です。
F4キーを押せば選択画面は出るのですが
直接日付を入力した方が早いので。
ツイート | ![]() |