Module
Contents
Index 🔎︎

# ダイアログエディターでのコントロール制御用プログラミングの例

下記の例は、「Dialog1」と名付けた新規ダイアログを制御するためのものです。 このダイアログを作成する際には、ダイアログエディター上で コントロール 可動ツールバーを表示させ、該当するツールを用いて、次のコントロールを配置しておきます: 「CheckBox1」という名前の チェックボックス 1 個、「Label1」という名前の ラベルフィールド (図表番号ボックス) 1 個、「CommandButton1」という名前の ボタン 1 個、「ListBox1」という名前の リストボックス 1 個。

オブジェクト変数にコントロールを割り当てる際には、上記の名前の大文字と小文字を一致させる必要があります。

### ダイアログの読み込み用の大域関数

    Function LoadDialog(Libname as String, DialogName as String, Optional oLibContainer)

    Dim oLib as Object

    Dim oLibDialog as Object

    Dim oRuntimeDialog as Object

        If IsMissing(oLibContainer) Then

            oLibContainer = DialogLibraries

        End If

        oLibContainer.LoadLibrary(LibName)

        oLib = oLibContainer.GetByName(Libname)

        oLibDialog = oLib.GetByName(DialogName)

        oRuntimeDialog = CreateUnoDialog(oLibDialog)

        LoadDialog() = oRuntimeDialog

    End Function

### ダイアログの表示

    REM 変数の大域定義

    Dim oDialog1 AS Object

    Sub StartDialog1

        BasicLibraries.LoadLibrary("Tools")

        oDialog1 = LoadDialog("Standard", "Dialog1")

        oDialog1.Execute()

    End Sub

### プログラム中でのコントロールのプロパティの取得と変更

    Sub Sample1

        BasicLibraries.LoadLibrary("Tools")

        oDialog1 = LoadDialog("Standard", "Dialog1")

        REM ダイアログモデルの取得

        oDialog1Model = oDialog1.Model

        REM Label1 のテキストの表示

        oLabel1 = oDialog1.GetControl("Label1")

        MsgBox oLabel1.Text

        REM Label1 のテキストの変更

        oLabel1.Text = "New Files"

        REM CheckBox1 コントロールのモデルプロパティの表示

        oCheckBox1Model = oDialog1Model.CheckBox1

        MsgBox oCheckBox1Model.Dbg_Properties

        REM コントロールモデルでの CheckBox1 の状態の変更

        oCheckBox1Model.State = 1

        REM CommandButton1 コントロールのモデルプロパティの表示

        oCMD1Model = oDialog1Model.CommandButton1

        MsgBox oCMD1Model.Dbg_Properties

        REM CommandButton1 コントロールの表示

        oCMD1 = oDialog1.GetControl("CommandButton1")

        MsgBox oCMD1.Dbg_Properties

        REM ダイアログの実行

        oDialog1.Execute()

    End Sub

### リストボックスへの項目追加

    Sub AddEntry

        BasicLibraries.LoadLibrary("Tools")

        oDialog1 = LoadDialog("Standard", "Dialog1")

        REM リストボックスへの項目追加

        oDialog1Model = oDialog1.Model

        oListBox = oDialog1.GetControl("ListBox1")

        Dim iCount as integer

        iCount = oListbox.ItemCount

        oListbox.additem("New Item" & iCount,0)

    End Sub

### リストボックスからの項目の削除

    Sub RemoveEntry

        BasicLibraries.LoadLibrary("Tools")

        oDialog1 = LoadDialog("Standard", "Dialog1")

        REM リストボックスの 1 番目の項目の削除

        oDialog1Model = oDialog1.Model

        oListBox = oDialog1.GetControl("ListBox1")

        oListbox.removeitems(0,1)

    End Sub

関連項目

ダイアログエディターに配置したコントロールのプロパティの変更

Basic ダイアログの作成

ダイアログエディターでのコントロールの作成

ダイアログ表示用のプログラムコード