UserFormメソッド/コントロールの配置

Short DefineCheckButton(BSTR title, Variant value, Variant mode)

チェックボックスを作成します。

引数

title
ボタンのタイトルを指定します。
複数ボタンの場合には、「a;b;c」のように区切り文字「;」によって区切ります。
value
1ならばオン、0ならばオフを意味します。
複数ボタンの場合は文字列で「01100」のように指定します。
mode
1ならば縦方向、0ならば横方向にボタンを並べます。
省略時は横方向へ並べます。

戻り値

コントロール番号が返されます。

イベント

モードレスの場合、チェックボックスの操作によりコントロール番号のイベントが発生します。

備考

タイトル欄に区切り文字「;」を指定した場合、複数チェックボックスが作成されます。

複数チェックボックスは「a;b;c;d;e」のように指示して作成し、valueは、それぞれ「01100」のように文字列で指定します。

左の桁から最初のボタンとなります。

この例ではBボタンとCボタンがONとなります。

操作が煩雑になるので縦方向のチェックボタンであればDefineCheckButtonを繰り返したほうがよいでしょう。

サンプル1 (横方向)

Option Explicit
Dim obj: Set obj = CreateObject("SeraphyScriptDialog")
Dim frm: Set frm = obj.CreateForm()
Dim chk1: chk1 = frm.DefineCheckButton("チェック1;チェック2;チェック3", "001")
Dim btn1: btn1 = frm.DefineButton("OK")
Dim ret: ret = frm.ExecuteForm()
If ret = btn1 Then
    MsgBox "chk=" & frm.Value(chk1)
End If

例: チェックボタンの例(横方向)

サンプル2 (縦方向)

Option Explicit
Dim obj: Set obj = CreateObject("SeraphyScriptDialog")
Dim frm: Set frm = obj.CreateForm()
Dim chk1: chk1 = frm.DefineCheckButton("チェック1;チェック2;チェック3", "001", 1)
Dim btn1: btn1 = frm.DefineButton("OK")
Dim ret: ret = frm.ExecuteForm()
If ret = btn1 Then
    MsgBox "chk=" & frm.Value(chk1)
End If

例: チェックボタンの例(縦方向)

サンプル3 (縦方向・シンプル)

Option Explicit
Dim obj: Set obj = CreateObject("SeraphyScriptDialog")
Dim frm: Set frm = obj.CreateForm()
Dim chk1: chk1 = frm.DefineCheckButton("チェック1", 0, 1)
Dim chk2: chk2 = frm.DefineCheckButton("チェック2", 0, 1)
Dim chk3: chk3 = frm.DefineCheckButton("チェック3", 1, 1)
Dim btn1: btn1 = frm.DefineButton("OK")
Dim ret: ret = frm.ExecuteForm()
If ret = btn1 Then
    MsgBox "chk=" & frm.Value(chk1) & frm.Value(chk2) & frm.Value(chk3)
End If

例: チェックボタンの例(縦方向・シンプル)