ツリーのチェックした内容を取得する方法

投稿者:はいじ 投稿日:2018/04/18(Wed) 01:06:10 No.2056

こんばんは、はいじです。

ツリー部品について教えていただけると幸いです。

下記のプログラム例で
ツリー1に「あああ」と「いいい」と「ううう」があります。
「あああ」と「いいい」の2つのチェックをオンにした状態で
ボタン1をクリックしたときに「あああ」と「いいい」の文字列を取得することは可能でしょうか。

ーーここからーー
メイン画面を表示する
待機する

メイン画面とは
  ウィンドウを継承する
  はじめの手順
    初期化する
    ーー貼り付けた部品に対する操作をここに書きます
    ツリー1に「あああ」を加える
    ツリー1に「いいい」を加える
    ツリー1に「ううう」を加える
  終わり
  初期化する手順
  ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
  この内容を「メイン画面」に変える
  ボタン1というボタンを作る
    その位置と大きさを{197,12,75,23}に変える
    その内容を「ボタン1」に変える
    その移動順を1に変える
  ツリー1というツリーを作る
    その位置と大きさを{12,12,121,97}に変える
    そのチェックボックスを○に変える
    その項目高さを14に変える
終わり

ボタン1がクリックされた時の手順
  ーーツリー1のチェックした内容(文字列)を表示する  
  終わり
終わり

ーーここまでーー

Re: ツリーのチェックした内容を取得する方法

投稿者:アーク <info_nds-labo あっとまーくexcite.co.jp> 投稿日:2018/04/18(Wed) 11:54:23 No.2057

はいじさん、こんにちは。アークです。

私の様な新参者がコメントするのは僭越なのですが、
ご覧の様に最近は不具合報告掲示板共に回答が有りません。
お忙しいのだと思いますので私の方法を紹介します。

私も昨日からツリーを使い始めたのですが、
ツリーには選択番号のような項目が無いようです。
一応、チェック状態を知る事はできるようですが、
ツリー項目との紐付けができません。

…なので正攻法ではチェックした内容を取得する事はできないようです。
しかし、全く方法が無い訳でもありません。
マウスは使えませんがキーボード指定なら可能です。

ツリー内ではカーソルの上下キーで移動ができます。
また、カーソルの左右キーで折り畳みと展開が可能です。
チェックボックスへのチェックはスペースキーで行えます。

はいじさんのソースの手順部分を下記に差し替えてみて下さい。
ツリーのチェックした内容を取得する事が可能になります。
尚、マウスが使えないので誤操作防止の為にマウスを潰しています。

ーーここからーー
  ボタン1がクリックされた時の手順
    配列は、(ツリー1の内容の先頭から1文字消したもの)を「,」で区切ったもの
    //チェック数を表示する場合
    配列の個数を表示する
    //チェックされた全てを表示する場合
    配列を表示する
    //1データを指定して表示する場合
    配列(2)を表示する
  終わり

  ツリー1がチェックされた時の手順
    ツリー1の内容をツリー1の内容&「,」&ツリー1の選択内容に変える
  終わり

  ツリー1のマウスのボタンが押された時の手順
    //マウスクリックを無効化
    0.5秒待つ
  終わり
ーーここまでーー

ありがとうございます

投稿者:はいじ 投稿日:2018/04/19(Thu) 23:41:38 No.2058

アーク様、こんばんは。はいじです。

ありがとうございます。
アーク様の方法で文字列を取得することができました。

今後のバージョンアップで、マウス操作でチェックした項目番号や内容を取得できる
ようになることを期待します。

こんな方法も有ります

投稿者:アーク <info_nds-labo あっとまーくexcite.co.jp> 投稿日:2018/04/20(Fri) 00:09:42 No.2059

はいじさん、こんばんは。アークです。

ツリーには選択番号とか次や前を選択のような物は無いようです。
項目も追加はできますが先頭へ挿入などはできないようです。
只、選択項目と選択内容は有るのでマウスが使えるように工夫してみました。
方法は選択項目をリモコンで移動するものです。

------------------------------
メイン画面を表示する
待機する

メイン画面とは
  ウィンドウを継承する
  はじめの手順
    初期化する
    //貼り付けた部品に対する操作をここに書きます
    ツリー1に「あああ」を加える
    ツリー1に「いいい」を加える
    ツリー1に「ううう」を加える
    ツリー1に「えええ」を加える
    ツリー1に「おおお」を加える
  終わり
  初期化する手順
  //自動生成された手順です。ここにプログラムを書き加えても消える場合があります
  この内容を「メイン画面」に変える
  ボタン1というボタンを作る
    その位置と大きさを{197,12,75,23}に変える
    その内容を「ボタン1」に変える
    その移動順を1に変える
  ツリー1というツリーを作る
    その位置と大きさを{12,12,150,200}に変える
    そのチェックボックスを○に変える
    その項目高さを14に変える
    その移動順を2に変える
終わり

  ボタン1がクリックされた時の手順
    ツリー1を選択する
    「{Home}」を入力する
    一覧は、ツリー1の一覧
    番号を1から一覧の個数まで増やしながら繰り返す
      番号&「 」&ツリー1の選択内容&「 」&ツリー1の選択項目のチェックを表示する
      「{Down}」を入力する
    繰り返し終わり
  終わり
終わり
----------------------------------------------

これでマウスも使えますしシンプルになりました。
後は配列に入れるなりはいじさんの使い易いように変えて下さい。

解決しました

投稿者:はいじ 投稿日:2018/04/23(Mon) 23:03:10 No.2061

アーク様、こんばんは。はいじです。

アーク様の方法で解決することができました。
いつもありがとうございます。

▲ページの先頭へ

- WebForum -