ツリービューコントロールのピクチャを変更する

PowerBuilder Tips

方法

ツリービューコントロールのピクチャを変更するには、PictureIndex 関数や SelectedPictureIndex 関数、OverlayPictureIndex 関数、StatePictureIndex 関数を利用します。

「ピクチャリスト」にピクチャを追加するとその順番でインデックスが割り当てられ、ツリービューコントロールの項目に対してインデックスを指定することでピクチャを紐づけます。

  • 標準ピクチャ (項目ラベルの左に表示)
    • 項目未選択時は PictureIndex 関数、項目選択時は SelectedPictureIndex 関数で「標準ピクチャリスト」のインデックスを指定します。
  • 状態ピクチャ (標準ピクチャの左に表示)
    • StatePictureIndex 関数で「状態ピクチャリスト」のインデックスを指定します。
  • オーバーレイピクチャ (標準ピクチャの上に表示)
    • OverlayPictureIndex 関数で「標準ピクチャリスト」のインデックスを指定します。

なお、ピクチャリストをペインターで設定する場合、ツリービューコントロールを選択後 [プロパティ] の [ピクチャ]タブ – [ピクチャ名]、[状態]タブ – [状態ピクチャ名] で行います。

スクリプトで設定する場合、ピクチャの追加は AddPicture 関数、AddStatePicture 関数、削除は DeletePicture 関数、DeleteStatePicture 関数で行います。

【例】ツリービューコントロールの constructor でルートノードの各ピクチャを設定

Integer li_row
TreeViewItem ltvi_root
integer li_picture

// 項目未選択時の標準ピクチャを設定 (標準ピクチャリストで 1 番目に登録されているピクチャ)
ltvi_Root.PictureIndex = 1

// ツリービューコントロールの標準ピクチャリストに追加 (戻り値はインデックス)
li_picture = this.AddPicture("c:\apps_pb\selected.bmp")

// 項目選択時の標準ピクチャを設定 (上で追加したピクチャ)
ltvi_root.SelectedPictureIndex = li_picture

// 状態ピクチャを設定 (状態ピクチャリストで 1 番目に登録されているピクチャ)
ltvi_root.StatePictureIndex = 1

// オーバーレイピクチャを設定 (標準ピクチャリストで 2 番目に登録されているピクチャ)
ltvi_root.OverlayPictureIndex = 2

ltvi_root.Children = True

FOR li_row = 1 TO 5
    ltvi_root.label = "ルート:" + string(li_row)
    this.InsertItemLast(0, ltvi_Root)
NEXT

this.SelectItem(1)

 

Tips情報

プロダクト :PowerBuilder

バージョン :2017R3

Tips 一覧を見る
PowerBuilder マイグレーション