XファンクションのRangeListBoxのサンプル

概要

この例では、Range変数にListBoxコントロールを使用する方法を示します。

ステップ

  1. ツールメニューのXファンクションビルダを開き、次の図のようにXファンクション名と変数を入力して、保存をクリックします。Ocguide xfdialog savebutton.png.
    OCguide xf example RangeListBox.png
  2. コードビルダーでこのXファンクションを開き、ソースコードを編集します。まず、以下のように必要なヘッダファイルを含めます。
    #include <..\OriginLab\wks_utils.h> // init_GetN_col_list_ctrls関数に必要
  3. Xファンクションのメイン関数collistexで、次のコードを追加し、指定したデータ範囲から範囲文字列を取得します。
    	string str;
    	if(collist)
    		collist.GetRangeString(str, NTYPE_FOR_RANGE);
    	out_str(str);
  4. Xファンクションのbefore_execute関数collistex_before_executeに、collist変数の制御を初期化する次のコードを追加します。これにより、collistはListBoxからリスト列の範囲になります。
    	bool bIsStart = is_xf_startup(nGetNDialog, dwCntrl);
    	if(bIsStart && (dwCntrl & LTXF_SHOW_DIALOG))
    	{
    		init_GetN_col_list_ctrls(NULL, trGetN.collist);
    	}
  5. Xファンクションを実行

    1. スクリプトウィンドウでcollistex -dを実行すると、以下のダイアログが表示されます。
      Ocguide xfdialog collistex display.png
    2. ListBoxの三角形ボタンをクリックして列を追加でき、列を選択/選択解除できます。
      Ocguide xfdialog collistex columns.png
    3. OKをクリックします。選択した列の範囲を出力します。