タイプ ライブラリを使用したシンプル データ バインディングの有効化
ActiveX コントロールのインターフェイスのカスタマイズ への移動
シンプル データ バインディングによって、ActiveX コントロールのプロパティをデータベース内のフィールドにバインドすることができます。それには、どの値がフィールド データを表すかについて、また値が変更されたときに、ActiveX コントロールがホスト アプリケーションと通信する必要があります。この通信を有効にするには、タイプ ライブラリ エディタを使ってプロパティのバインディング フラグを設定します。
プロパティをバインド可能であると設定すると、コントロールは、プロパティ(データベース内のフィールドなど)をユーザーが変更したときに、値が変更されたことをコンテナ(クライアント ホスト アプリケーション)に通知し、データベース レコードを更新するよう要求します。コンテナは、データベースに対する処理を行い、その後、レコードの更新に成功したか失敗したかをコントロールに通知します。
メモ: ActiveX コントロールを含むコンテナ アプリケーションは、タイプ ライブラリで有効にしたデータベース対応プロパティをデータベースに接続する責任を負います。
タイプ ライブラリを使用してシンプル データ バインディングを有効にするには:
- ツールバーで、バインドするプロパティをクリックします。
- [フラグ]ページを選択します。
- 以下のバインディング属性を選択します。
バインディング属性 | 説明 |
---|---|
[バインド可能] |
プロパティがデータのバインドをサポートすることを示します。[バインド可能]がオンになっているプロパティは、プロパティ値が変化したときにそれをコンテナに通知します。 |
[編集要求通知] |
プロパティが OnRequestEdit 通知をサポートすることを示します。これを設定すると、値をユーザーが編集できるかどうかをコントロールがコンテナに問い合わせられるようになります。 |
[バインド可能として表示] |
このプロパティがバインド可能であることをコンテナがユーザーに対して表示できることを示します。 |
[デフォルト バインド可能] |
オブジェクトを最も適切に表現する単一のバインド可能なプロパティであることを示します。[デフォルト バインド可能]属性を設定したプロパティには、[バインド可能]属性も設定しなければなりません。1 つのディスパッチ インターフェイス内の複数のプロパティに指定することはできません。 |
[即時バインド可能] |
フォーム上の個々のバインド可能なプロパティにこの動作を指定できます。このビットが設定されていると、すべての変更が通知されます。この新しいビットを有効にするには、[バインド可能]と[編集要求通知]の両方の属性ビットが設定されていなければなりません。 |
- ツールバーの[実装の更新]ボタンをクリックすると、タイプ ライブラリを更新することができます。データ バインディング コントロールは、テストの前に、まず登録する必要があります。たとえば、TEdit コントロールをデータをバインドした ActiveX コントロールに変換するには、TEdit を基に ActiveX コントロールを作成し、それから Text プロパティのフラグとして[バインド可能]、[バインド可能として表示]、[デフォルト バインド可能]、[即時バインド可能]を設定します。そのコントロールを登録してインポートすると、データの表示に使用することができます。