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

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