The Tips for Developers > MSFlexGridを使用する
|
|
MSFlexGrid とサンプルの説明 | ||||||||||||||||||||||
MSFlexGrid はテーブルデータの表示・操作を行うことができる。 このコントロールは ActivX コントロールであるため、実行環境によっては適切に動作しない場合がある。 このときは、MSFlexGrid ActiveX コントロールを regsvr32 を使用して、実行環境に登録する必要がある。 以下では、コントロールに年表を表示し、行追加のボタンを押下することで、先頭に行を挿入するプログラムを作成する。 |
||||||||||||||||||||||
MSFlexGrid コントロールの挿入 | ||||||||||||||||||||||
適当なダイアログボックスプロジェクトで動くプログラムを作成する。 (これを応用してSDIやMDI上でコントロールを挿入することも可能である。) ResourceView のダイアログボックスの画面上で右クリックをし、「ActiveX コントロールの挿入」を選択する。 表示される ActiveXコントロールの中から、「Microsoft FlexGrid Control, version 6.0」を選択する。 挿入されたコントロールを適当な大きさにし、確定する。 このコントロールを右クリックし、プロパティを選択し、不可視状態にしておく。 また、行追加ボタンを追加しておく。 |
||||||||||||||||||||||
MSFlexGrid クラスの設定 | ||||||||||||||||||||||
コントロールを右クリックし、ClassWizardを起動する。メンバ変数タグを選択し、MSFlexGrid
のコントロールIDを選択する。 (例の場合は IDC_MSFLEXGRID1) 「変数の追加」ボタンを押下すると、"Microsoft FlexGrid Control, version 6.0" がプロジェクトに登録されていないため、Developer Studio が登録を行い、それに対するラップクラスを生成することを確認するメッセージボックスが表示される。 このメッセージボックスの「OK」ボタンを押下すると、下図のようなダイアログボックスが表示される。 「OK」ボタンを押下し、上記に表示されているクラスをプロジェクトに取り込む。 こののち、「メンバ変数の追加」ダイアログボックスが表示されるので、CMsFlexGrid クラスの変数を ダイアログボックスクラスに追加する。 |
||||||||||||||||||||||
コントロールの初期化とデータの追加 | ||||||||||||||||||||||
まず、MsFlexGrid コントロールの初期化を行う。 初期化を行う場所は、OK ボタンを押下したタイミングとする。(アプリケーションによっては、CDialog クラスの派生クラスの OnInitDialog 関数内で行ってもよい。) 初期化には Clear メソッドを使用する。
行および列の総数を変更するために、SetRows メソッド、および SetCols メソッドを使用する。
次に行追加ボタンが押下された場合の処理を追加する。 行追加は AddItem メソッドを使用し、次の書式になっている。
サンプルはこちらから |
||||||||||||||||||||||