フォーム編集ウィンドウを開き、以下のようにフォームを作成します。
フォームのプロパティを設定する
以下のように、フォームのプロパティを設定します。
フォームのプロパティ設定ダイアログボックスの[フォーム]タブを開きます。
[キャプション]に"色の設定"を入力します。
[多重生成]がチェック状態であることを確認します。未チェックの場合はチェックします。
[OLE]タブを開きます。
[ProgID]に"PcobSampleActiveX.SelectColorControl"と入力します。
[メジャーバージョン]と[マイナーバージョン]に1を設定します。
[説明文字列]を"色を選択するコントロール"に変更します。
ポイント
注意
重要
クラスIDは、フォームごとに異なった値になっている必要があります。PowerCOBOLでアプリケーションを開発する場合、PowerCOBOLはフォームごとに一意な値を自動的に割り当てています。したがって、通常の開発では、クラスIDを設定する必要はありません。ただし、作成したプロジェクトファイルをWindowsのエクスプローラなどを使って、別のフォルダにコピーした場合、フォームのクラスIDが重なってしまいます。クラスID、ProgIDおよびActiveXコントロール本体は、システム内で関連づけられていますので、フォームのクラスIDが重複していると、システム内で矛盾が生じてしまい正しく動作しません。
このような場合は、以下のようにして、コピー先フォームのクラスIDを割り当てなおしてください。
[クラスIDの設定]ボタンをクリックします。
警告メッセージが表示されたら、[OK]ボタンをクリックします。
[クラスIDの設定]ダイアログボックスの[自動設定]ボタンをクリックします。
[OK]ボタンをクリックします。
クラスIDやProgIDは、ActiveXコントロールごとに一意になっています。したがって、クラスIDやProgIDが変更されると、たとえ同じ機能をもつコントロールであっても、異なったコントロールとして扱われます。
たとえば、最初に作成したActiveXコントロールを、他のアプリケーションで利用しているとします。そのActiveXコントロールを更新し、[プロジェクトを名前を付けて保存]すると、新しいクラスIDが自動的に割り当てられます。その後、最初に作成したActiveXコントロールを削除してしまうと、最初に作成したActiveXコントロールを使用していた他のアプリケーションは、更新されたActiveXコントロールを認識することができません。たとえ同じProgIDのActiveXコントロールであっても、クラスIDが異なるため、利用することができなくなってしまいます。
フォームにコントロールを配置する
まず、以下の図のように、フォームに、フレームコントロールを1つ、オプションボタンコントロールを3つ配置し、フォームの大きさを調整します。コントロールの配置方法および位置やサイズの調整方法は、「4.2 フォームを編集する」を参照してください。
次に、3つのオプションボタンコントロールを配列化します。コントロールを配列化する方法は、「5.2.5 コントロールを配列化して利用する」を参照してください。
コントロールのプロパティを設定する
以下のように、コントロールのプロパティを設定します。
フレームコントロール(CmFrame1)の[キャプション]を"色"に変更します。
配列化されたオプションボタンコントロール(CmOption1)の名前を"OP-COLOR"に変更します。
1番めのオプションボタンコントロール(OP-COLOR(1))の[キャプション]を"赤"に変更しす。
2番めのオプションボタンコントロール(OP-COLOR(2))の[キャプション]を"緑"に変更します。
3番めのオプションボタンコントロール(OP-COLOR(3))の[キャプション]を"青"に変更します。