Change メソッドの変更
データ編集コントロールの作成 への移動
新しい日付値が設定されるたびに、TDBCalendar の Change メソッドが呼び出されます。Change では、OnChange イベントのイベント ハンドラが存在する場合は、それを呼び出します。コンポーネント ユーザーは、日付の変更に応答するコードを OnChange イベント ハンドラに記述できます。
カレンダー日付が変わると、基礎となるデータセットに変更の発生を通知しなければなりません。それを行うには、Change メソッドをオーバーライドし、コードをもう 1 行追加します。
必要な手順は次のとおりです。
- TDBCalendar コンポーネントに、次のように、Change メソッドを新しく追加します。
type TDBCalendar = class(TSampleCalendar); private procedure Change; override; . . . end;
class PACKAGE TDBCalendar : public TSampleCalendar { protected: virtual void __fastcall Change(); . . . };
Change メソッドを次のように記述します。データの変更をデータセットに通知する Modified メソッドを呼び出したあと、継承した Change メソッドを呼び出しています。
procedure TDBCalendar.Change; begin FDataLink.Modified; { Modified メソッドを呼び出す } inherited Change; { 継承した Change メソッドを呼び出す } end;
void __fastcall TDBCalendar::Change() { if (FDataLink != NULL) FDataLink->Modified(); // Modified メソッドを呼び出す TSampleCalendar::Change(); // 継承した Change メソッドを呼び出す }