問題タブ [tdatetimepicker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - TDateTimePicker.CheckedがWindows7で常にTrueを返すのはなぜですか?
Delphi 2007で構築されTDateTimePicker
た、フォーム上のアプリケーションがあります。この日時ピッカーのShowCheckbox
プロパティはに設定されておりTrue
、日付または時刻の横にチェックボックスが表示されます。このチェックボックスは、ユーザーが日付を選択したとき、または日付または時刻がコードによって変更されたときに自動的に選択されます。このチェックボックスの状態は、ユーザーが手動で制御することもでき、その状態はChecked
プロパティによって決定できます。
OnChange
次のコードは、イベントでこのチェックボックスの状態を判別する方法を示しています。
上記のコードはWindowsXPで期待どおりに機能しますが、Windows 7では、Checked
チェックボックスの実際の状態に関係なく、プロパティは常にTrueを返します。
Checked
チェックボックスがオフの場合でも、プロパティが常にTrueを返すのはなぜですか?どういうわけかこれを修正または回避する方法はありますか?
PS私のアプリケーションはWindowsテーマを使用しています
delphi - onChangeEventで日付を変更するには?
日付変更時に TDateTimePicker.OnChangeEvent に対応する必要があります。「保存されていない変更は失われます」などのダイアログを表示し、[OK]、[キャンセル] ボタンを表示します。ユーザーがキャンセルボタンを押した場合、元の日付にリセットしたいと思います。
残念ながら、そのイベントから日付を変更することはできません。変更は無視されます。
より詳細な説明:
- ユーザーが DateTimePicker で日付を変更する (キーボードで) または カレンダーを開いて日付を選択する
- OnChange イベントが発生します (カレンダーがまだ開いている可能性があります)
- MessageDialog を表示し、ユーザーが「キャンセル」を押すと、日付を復元します。例えば。カレンダーを閉じて日付を復元します。
delphi - Delphi TDateTime TMonthCalendar を使用した大胆な日
現在、Delphi (Professional、バージョン 7.0、ビルド 4.453) でプログラムを作成しています。
もともと、私は TDateTimePicker ドロップダウン カレンダーでいくつかの日付を太字にしたいと考えていました。しかし、すぐにそれができないことがわかったので、TDateTimePicker ドロップダウン カレンダーの上に TMonthCalendar (太字の日付を指定できます) を重ねようとしています (単純ですよね?)。
しかし、それほど速くはありません。どういうわけか、TDateTimePicker ドロップダウン カレンダーは常に TMonthCalendar の上に表示されます。代わりに TMonthCalendar を一番上に表示したいと思います。
これが私ができると思ったことです:
- TMonthCalendar を TDateTimePicker の下に配置します (ドロップダウンが通常表示される場所)。
- TDateTimePicker の OnDropDown イベントで TMonthCalendar を可視化する
- TDateTimePicker の OnCloseUp イベントで TMonthCalendar を非表示にします
何が起こっているかは次のとおりです。
- TDateTimePicker のドロップダウン トライアングルをクリックすると、TMonthCalendar が表示されます (イェイ!)。
- ただし、TDateTimePicker ドロップダウン カレンダーが常に優先されます (TMonthCalendar は常にドロップダウンの下にあります)。
- したがって、TDateTimePicker ドロップダウンで日付を選択するまで、TMonthCalendar で何もできません (TMonthCalendar が下にあるため、太字の日付も表示されません)。
これが私が試したことです:
- TDateTimePicker の OnDropDown イベントでの TMonthCalendar.Show (これにより、表示されたものはすべて一番上に表示されるはずです)。しかし、これは何もしません。
- DateMode: dmDropDown -> DateMode: TDateTimePicker の OnDropDown で dmUpDown を実行します (したがって、ドロップダウン カレンダーを無効にします)。ただし、MonthCalendar の任意の場所 (上部の両側にある [月の変更] ボタンを含む) をクリックすると、MonthCalendar が非表示になるため、これには問題があります (MonthCalendarOnClick で "if MonthCalendar.Visible then visible := false" を実行しています)。
解決策はおそらく簡単だと思いますが、これを行う方法が思いつきません。これまでのところ、私が思いついたいくつかのアイデアは機能していません:(だから、私がやりたいことをする方法を思いつくことができれば、私を助けてください.
前もって感謝します!:)
delphi - DELPHI XE2 で TDateTimePicker に OnDblClick イベントがありません
この質問がややばかげているように聞こえる場合は申し訳ありませんが、XE2 では、TDateTimePicker の OnDblClick イベントがイベントのリストから欠落しているように見えます。本当にそうですか?これが私が進める方法です:
- 新しい VCL アプリケーションを開始します
- デフォルトの Form で TDateTimePicker をインスタンス化する
TDateTimePicker のイベント リストに OnDblClick イベントがないことがわかります。一方、Delphi 7 では問題なく動作し、OnDblClick イベントを確認できます。これまでのところ、それに関する関連情報を見つけることができませんでした。
実行する必要がある追加の設定はありますか、それともここで明らかな手順が欠落しているだけですか?
delphi - TDateTimePicker で無効な日付を無効として表示する
私は TDateTimePicker を使用して、ユーザーが日を選択できるようにしています (手動で、またはボタンをクリックして 1 日前後に移動します)。ユーザーには、その特定の日のログ エントリが表示されます。
コントロールはうまく機能しますが、[OLDEST-DAY-IN-LOG] と [TODAY] の間にユーザーを制限したいと思います。これらはデータがある日付制限であるためです。
TDateTimePicker に MinDate と MaxDate を設定しましたが、問題なく動作します。許可された範囲外の日付を選択しても何も起こりません。
私の質問は、グレー表示された無効な日付を描画できるかどうかです。添付の画像では、選択された日付は 01/04 で、今日は 02/04 です。03/04 (およびそれ以降) を無効にしたいと考えています。理想的には、画像に表示されている「30」と「31」のように、3 月の最後の日です。
これは可能ですか?関連する場合は Delphi 7 を使用します。
delphi - TDatetimePicker 形式が正しく表示されない
たとえば、TDateTimePickerコンポーネント(Delphi XE10)のプロパティ「フォーマット」を設定した場合。ddd d/m/yyyy の場合、2016 年 14 月47日 (火) と表示されます!! 日付 31/12/2016 は 31/ 0 /2016 です! どうしたの?