ページの先頭行へ戻る
NetCOBOL V12.2 PowerCOBOL ユーザーズガイド
FUJITSU Software

9.3.7 Visibleプロパティの取り扱い方法

フォームをActiveXコントロールとして作成し、コンテナに配置して利用する場合、ActiveXコントロールのVisibleプロパティをコンテナ側の手続きの中で変更した場合と、ActiveXコントロール自身がもつ手続きの中で変更した場合では、ActiveXコントロールを表示する動作が異なります。

コンテナ側でActiveXコントロールのVisibleプロパティを操作した場合は、ActiveXコントロールがインプレースアクティブ状態であるかアウトプレースアクティブ状態であるかにかかわらず、表示状態を変更できます。

それに対し、ActiveXコントロール自身がもつ手続きの中でVisibleプロパティを操作した場合、アウトプレースアクティブ状態のときだけ、表示状態を変更できます。

ただし、アウトプレースアクティブ状態であっても、ActiveXコントロールの手続き中でVisibleプロパティを操作して表示状態を変更した場合、コンテナ側ではその変更が認識できません。

また、アウトプレースアクティブ状態でかつ非表示状態のActiveXコントロールに対し、Activateメソッドを呼び出すとActiveXコントロールは表示状態になり、Visibleプロパティも自動的に変更されますが、これもコンテナ側では認識できません。

これらの場合、次にインプレースアクティブ状態になった場合、表示状態は引き継がれずコンテナ側が認識している表示状態で表示されます。

つまり、ActiveXコントロールの手続き中で自分自身のVisibleプロパティを操作すると、表示状態の管理が非常に難しくなってしまいます。
したがって、ActiveXコントロールのVisibleプロパティは、コンテナ側の手続き中で操作することをお勧めします。