Tips

フォームオブジェクトの表示・非表示を切り替える

日付2009/09/09
ID75888 (英語原文参照)
バージョン11.4
プラットフォームMac & Win

オブジェクトが適宜、隠れたり現れたりするようにすれば、フォームの柔軟性と使い易さを向上させることができます。フォームに配置されたさまざまなオブジェクトがそのように切り替われば、同じフォームをいろいろな目的のために用いることができるでしょう。この手法を上手に用いれば、似たようなフォームがたくさん作成されるような事態も避けることができます。要となるのは、切り替わるべきオブジェクトを適切に管理し、後から追加されたオブジェクトや変更されたオブジェクトにも対応できるような仕組みを確立することです。次に示される方法は、オブジェクトの命名規則により、これを管理するというものです。

オブジェクトのタイプをその名前のプリフィックスで示します。

  • var_ 変数
  • button_ ボタン
  • label_ ラベルテキスト
  • border_ 罫線
  • これらはいずれもオブジェクト名であることに留意して下さい。特定のタイプのオブジェクトが隠れるようにするには、別のプリフィックスでこれを特定します。たとえば_showhide_あるいは_showhide_stage1のようなプリフィックスが考えられます。

  • var_showhide_
  • button_showhide_
  • label_showhide_
  • border_showhide_
  • このような命名規則が実施されていれば、それに基づいてオブジェクトの表示・非表示を切り替えるようなメソッドを記述することができます。ポイントは、ワイルドカードの@記号により、特定のプリフィックスから名前が始まるオブジェクトを一括して指定できるということです。

    `Routine to hide objects
    
    SET VISIBLE(*;"var_showhide_@";False)
    SET VISIBLE(*;"button_showhide_@";False)
    SET VISIBLE(*;"label_showhide_@";False)
    SET VISIBLE(*;"border_showhide_@";False)
    
    
    `Routine to show objects
    
    SET VISIBLE(*;"var_showhide_@";True)
    SET VISIBLE(*;"button_showhide_@";True)
    SET VISIBLE(*;"label_showhide_@";True)
    SET VISIBLE(*;"border_showhide_@";True)
    
    

    新しいオブジェクトを追加したときや、既存のものを変更したとき、その名前が適切であることさえ見届ければ、オブジェクトの総数に関係なく上記のメソッドは期待されたように動作します。