例: ユーザーがカスタマイズ可能な色のための列を設計する

動物の説明を一覧表示する、ユーザーが色のプリファレンスを設定できるアプリケーションでは、次のプロパティが設定されます。

  1. [ビューのプロパティ] インフォボックスの [オプション] タブで、[カスタマイズを許可] オプションのチェックボックスをオンにします。
  2. PD1 と名付けられたビューの最初の列には、[列のプロパティ] インフォボックスの [列情報] タブで次のオプションが設定されています。
    • [色で値を表示] チェックボックスがオンになっている。
    • [ユーザー設定] チェックボックスがオンになっている。
    • [プロフィール文書] フィールドの値が DEF になっている。
    • プログラムペインで、PD1 の列の値はいくつかの色の選択肢を表示する次の式に設定されている。

      Red := 255:0:0;

      Purple := 128:0:128;

      Blue := 0:0:128;

      DkGreen := 0:160:0;

      Brown := 130:66:0;

      PaleYellow := 255:255:208;

      Tan := 224:161:117;

      DefaultColor := 0:0:0;

  3. DEF プロフィール文書は次のようにコーディングされます。
    Color schemes for user customizable dialog colors:
    Use this color for Koala:   [  Koalacolor]
    Use this color for Giraffe:   [Giraffecolor]
    Formula for view to read from profile doc:  [PD1 ]
    注: Koalacolor と Giraffecolor は、ユーザーに自動的にカラーピッカーを表示するカラーフィールドです。PD1 フィールドは非常に重要です。なぜなら PD1 はプロフィール文書を使用するビューまたはフォルダの列のプログラム名とフィールド名だからです。このフィールドによってプロフィール文書が列に結び付けられます。
  4. PD1 フィールドには、値として次の式が入力されています。
    DkGreen := 0:160:0;
    PaleYellow := 255:255:208;
    @If(dialog ="¥"giraffe¥";"+"¥""+GiraffeColor+"¥""+";
    (dialog=¥"koala¥");"+"¥""+KoalaColor+"¥""+";PaleYellow:DkGreen)")
    注: この式で、カラーフィールドの KoalaColor と GiraffeColor から RGB 色座標が返されます。これらの値は、文字列としてパーサーに渡す必要があります。そのために 2 セットの引用符がフィールド名の周囲につけられます。この式でただ単に「GiraffeColor」と指定されていた場合は、パース処理で引用符が取り去られ、結果は文字列リストではなく数値座標になります。そのために、この式では円マークと引用符 (¥") を使用して引用符 (") を文字としてパーサーに渡しています。式で問題が発生した場合は、引用符を正しく使用しているか確認してください。