ロゴ(青) Excel/VBA Tips ロゴ(緑)

Tips10B_3: フラグ系ボタン[トグルラベル Ver2]クラス のリファレンス ガイド


    この トグルラベル クラス (旧版)『 疑似からの脱却 』 手法へと発展していく基になったものです。
    先ず、RaiseEvent を使わない クラスモジュールひとつの clsTglLabel が出来ました。 これが、2つのクラス
    モジュールを親/子で使い、RaiseEvent を利用した [ clsTglLblGrp & clsTglLabelEx ] へと発展しました。
    この [ clsTglLblGrp & clsTgllabelEx ] を整理して体系化したものが 『 疑似からの脱却 - clsBpca - 』です。

    現状では既に必要の無くなったものですが、『疑似からの脱却』への軌跡として残しておきます。

 ( 2004/5/17 第 2 版 )    最新の[ Ver4.0 ]は こちら

  [トグルラベル]クラスのサンプル解説ページ [ clsTglLblGrp/clsTglLabelEx ]  [ clsTglLabel ]

[ clsTglLblGrp ] クラス    イベント/メソッド/プロパティ一覧

          [ clsTglLblGrp ]クラスを使う場合は、一緒に[ clsTglLabelEx ]クラスもインポートする必要があります。
          下記で[ object ]の部分には、clsTglLblGrpクラスを定義したオブジェクト変数を記述します。
          Excel97 では[ clsTglLblGrp ] [ clsTglLabelEx ] クラスは利用できません。

イベント
Private Sub object_Click
          ( ByVal Index As Integer, ByVal Btn_Label As MSForms.Label, ByVal Btn_Value As Boolean )

    [トグルラベル]ボタンをマウスでクリックした際(Change イベントの後)に発生します。
    [トグルラベル]ボタンとして使っているラベル自体の本来のクリックイベントもUserFormモジュール内に記述
    している場合は、ラベル本来のクリックイベントので発生します(ラベル本来のクリックイベントの時点では、
    未だボタン状態は変わっていませんので、注意して下さい)。

    ( Index )
      クリックした[トグルラベル]ボタンの番号(Add メソッドで登録した順に1から割当てられます)が返ります。
      番号は[ object ]単位で割当てられます。
    ( Btn_Label )
      クリックした[トグルラベル]ボタンのラベルコントロールオブジェクトが返ります。
    ( Btn_Value )
      クリックした結果のボタン状態(オン:凹/オフ:凸)が、True / False で返ります。

    利用元で、トグルラベルボタンのクリックイベント処理が必要なければ、利用元モジュール内に、
          この[ object_Click ]プロシジャーを記述する必要はありません

 

Private Sub object_Change
          ( ByVal Index As Integer, ByVal Btn_Label As MSForms.Label, ByVal Btn_Value As Boolean )

    [トグルラベル]ボタンのオン(凹)/オフ(凸)状態が変化した際に発生します。マウスクリックが起因で変化
    した場合は、Click イベントの前に発生します。
    一度の操作(マウスクリック/メソッド実行)で発生する Change イベントは一回だけとは限りません。その
    一度の操作によって「状態が変化した」ボタン全てについて続けて発生します。
    例えば、[排他あり]でマウスクリック(凸→凹)した場合では、クリックしたボタンの他に「今までオン(凹)
    だったボタン」の状態も変化しますので、この2つボタンに対して Change イベントが「都合 2回」続けて
    発生します。Click イベント発生は、これら一連の Change イベントが全て発生した後になります。

    ( Index )
      状態の変化した[トグルラベル]ボタンの番号(Add メソッドで登録した順に1から割当てられます)が返
      ります。番号は[ object ]単位で割当てられます。
    ( Btn_Label )
      状態が変化した[トグルラベル]ボタンのラベルコントロールオブジェクトが返ります。
    ( Btn_Value )
      状態が変化した結果のボタン状態(オン:凹/オフ:凸)が、True / False で返ります。

    利用元で、トグルラベルボタンのチェンジイベント処理が必要なければ、利用元モジュール内に、
          この[ object_Change ]プロシジャーを記述する必要はありません

 

メソッド
object .Add    ラベルコントロール

    [トグルラベル]ボタンとして使うラベルをクラスモジュールに追加するメソッドです。
    [ object ]グループで、ボタンとして使うラベル全てに対して Add メソッドを繰り返し、最後に Rgst メソッド
    で登録します。

    ( ラベルコントロール )
      [トグルラベル]ボタンとして使う ラベルオブジェクトを指定します。
 

object .Rgst    Exclusive

    Add メソッドで追加したラベルの登録処理を行なうメソッドです。Add メソッドを繰り返した後に行ないます。
    排他指定は、この Rgst メソッドで指示します。

    ( Exclusive )
      True を指定すると「排他あり」、 False を指定すると「排他なし」になります。
 

object .Init    OnColor , OffColor , InitValue               (第 2 版で追加)

    [トグルラベル]ボタンの、オン/オフ時の ボタンカラーを OnColor / OffColor で指定すると、クラス側で
    オン/オフ時に自動的に色を変更します。

    Array 関数に True/False を並べたものを、InitValue に指定する事で、ボタンの初期状態を設定できます。

    ( OnColor / OffColor )
      オン(凹)の時のボタンカラーとオフ(凸)の時のボタンカラーを指定します。
      ( vbRed , vbBlue ) や ( vbButtonFace , vbWindowText ) 等のカラー定数 もしくは RGB 関数、
      16進数で指定します。

    ( InitValue )
      Array 関数によるVariant 配列(True / False)を指定します。Array 関数内に、先頭から順に、ボタン番号
      順で、オン(True )・オフ(False )を並べて指定します。ボタン番号は「1〜」、Array 関数による配列の引数
      は「0〜」からでズレていますが、気にせずに Array 関数には先頭から並べてください。
      ボタン数より多く並べた部分は無視されます。ボタン数より少ない場合は、残りの部分が初期状態設定され
      ません(凹凸 と ボタンカラー)。

      排他指定の場合、True を複数指定しても有効になるのは最初のものだけです。。
 

object .OnValueSet    [ Index ]

    [トグルラベル]ボタンをオン(凹)状態にするメソッドです。
    Index 引数の指定で「グループ全体 / 個別のボタン1つ」という使い分けが出来ます。
    排他あり の場合には、下記のようになります。
        ・ グループ全体に対して実行しても機能しません(ボタン状態は変化しません)
        ・ ボタンを指定して実行すると、既にオン(凹)状態のボタンが存在する場合は、そのボタンは
           オフ(凸)状態に変わります

    ( Index )
      ボタン番号(Add メソッドで追加した順番に、1 からの連番)を指定します。
      「排他あり」の場合、それまでオン(凹)だったボタンはオフ(凸)に変わります。
      「排他なし」の場合、省略 もしくは ゼロ を指定すると、[ object ]グループの全てのボタンがオン(凹)
      になります。
       「排他あり」の場合には、省略/ゼロ としても機能しません。
 

object .OffValueSet    [ Index ]

    [トグルラベル]ボタンをオフ(凸)状態にするメソッドです。
    Index 引数の指定で「グループ全体 / 個別のボタン1つ」という使い分けが出来ます。
    排他有無に係わり無く、指定したボタンはオフ(凸)状態になります。

    ( Index )
      ボタン番号(Add メソッドで追加した順番に、1 からの連番)を指定します。
      指定したボタンはオフ(凸)になります。
      省略 もしくは ゼロ を指定すると、[ object ]グループの全てのボタンがオフ(凸)になります。
 

object .RaiseClick    Index , Btn_Label , Btn_Value

    [ clsTglLabelEx ]クラスから [ clsTglLblGrp ]クラスへのイベント通知に使われるメソッドです。
    ユーザーサイドでは使いません。
 

object .RaiseChange    Index , Btn_Label , Btn_Value

    [ clsTglLabelEx ]クラスから [ clsTglLblGrp ]クラスへのイベント通知に使われるメソッドです。
    ユーザーサイドでは使いません。
 

プロパティ
object .GrpEnabled    [ = Boolean ]

    [ object ]グループ全ボタンの「マウスによる操作可否」の状態を表します。値の設定と取得が可能です。

    ( 値の取得 )
      [ object ]グループの全ボタンがマウス操作「可」の場合、GrpEnabled は True を返します。
      全ボタンがマウス操作「不可」、もしくは、一部のボタンが「不可」の場合、GrpEnabled は False を
      返します。

    ( 値の設定 )
      True を設定すると全ボタンがマウス操作「可」になります。
      False を設定すると全ボタンがマウス操作「不可」になります。
 

object .GrpValue    ( [ Index ] ) [ = Variant ( Integer / Boolean / #NA) ]

    [ object ]グループのボタンの「オン(凹)/オフ(凸)」状態を表します。
    個別のボタンの状態(オン/オフ)と、グループ全体で「何番目がオン」という情報を取得できます。
    値の取得のみ可能です。

    ( Index )
      ボタン番号(Add メソッドで追加した順番に1 からの連番)を指定します。省略可。

    ( 値の取得 )
      Index にボタン番号を指定した場合、
          そのボタンのオン/オフが True / False で返ります。
          ボタン番号がグループ内のボタン数を越えている場合はエラー値(#N/A)が返ります。

      Index を省略 もしくは ゼロ を指定 した場合
          ・全てのボタンがオフならば ゼロ が返ります。
          ・「排他あり」の場合(オンはひとつだけ可)、オン状態のボタン番号が数値で返ります。
          ・「排他なし」の場合、
                オン状態のボタンがひとつだけならば、そのボタン番号(1〜)が返ります。
                複数のボタンがオンの場合は[ -1 ]が返ります。
 

object .Item    ( Index ) [ = MsForms.Label ]

    [ object ]グループのボタンを構成する ラベルコントロールオブジェクトを返します。
    UserForm モジュール側で、ボタンに使っているラベルコントロールを配列として操作する場合に
    利用します。値の取得のみ可能です。

    ( Index )
      ボタン番号(Add メソッドで追加した順番に1 からの連番)を指定します。

    ( 値の取得 )
      Index に指定したボタン番号のラベルコントロールオブジェクトを返します。
      ボタン番号が「1〜ボタン数」の範囲外の場合は、[ Nothing ]が返ります。
 

object .Count   [ = Integer ]

    [ object ]グループのボタンを構成する ラベルコントロールオブジェクトの数を返します。
    値の取得のみ可能です。

    ( 値の取得 )
      Add メソッドで登録したラベルコントロールの数を数値で返します。
      この値は「ボタン番号」の最大値でもあります。
 




[ clsTglLabel ] [ clsTglLabelEx ]クラス    イベント/メソッド/プロパティ一覧

          [ clsTglLabel ]クラスは、 Excel97 以降で利用できます。
              [clsTglLabelEx ]クラスは、[clsTglLblGrp ]クラスの下位クラスです(Excel2000以上で利用可。ユーザー
              サイドで直接このクラスを使うことはありません)。

          下記で[ object ]の部分には、clsTglLabel/clsTglLabelExクラスを定義したオブジェクト変数を記述
          します。[ clsTglLabel ]クラスの実際の使い方はサンプルブックのソースコードを参考にして下さい。

イベント
-- clsTglLablEx のみ --
Private Sub object_Click ( ByVal Btn_Value As Boolean )

    [トグルラベル]ボタンをマウスでクリックした際(Change イベントの後)に発生します。
    [トグルラベル]ボタンとして使っているラベル自体の本来のクリックイベントもUserFormモジュール内に記述
    している場合は、ラベル本来のクリックイベントので発生します(ラベル本来のクリックイベントの時点では、
    未だボタン状態は変わっていませんので、注意して下さい)。

    ( Btn_Value )
      クリックした結果のボタン状態(オン:凹/オフ:凸)が、True / False で返ります。

    利用元で、トグルラベルボタンのクリックイベント処理が必要なければ、利用元モジュール内に、
          この[ object_Click ]プロシジャーを記述する必要はありません

 

-- clsTglLablEx のみ --
Private Sub object_Change
          ( ByVal Index As Integer, ByVal Btn_Label As MSForms.Label,
            ByVal Btn_Value As Boolean, ByVal MyEvent As Boolean )

    [トグルラベル]ボタンのオン(凹)/オフ(凸)状態が変化した際に発生します。マウスクリックが起因で変化
    した場合は、Click イベントの前に発生します。
    一度の操作(マウスクリック/メソッド実行)で発生する Change イベントは一回だけとは限りません。その
    一度の操作によって「状態が変化した」ボタン全てについて続けて発生します。
    例えば、[排他あり]でマウスクリック(凸→凹)した場合では、クリックしたボタンの他に「今までオン(凹)
    だったボタン」の状態も変化しますので、この2つボタンに対して Change イベントが「都合 2回」続けて
    発生します。Click イベント発生は、これら一連の Change イベントが全て発生した後になります。

    この一連のChangeイベントは、「マウスクリックした / メソッド実行に際して[ object ]に指定した」ボタンに
    対して発生します。そのイベントが自身に対するものかは[MyEvent]で判断できます。実際に、どのボタン
    に対するものかは[Index / Btn_Label]で判ります。
    (例) Btn1 , Btn2 , Btn3 の3つのボタンでグループを構成している
        ・ 排他あり の場合で、Btn2 がオン(凹)の時に、Btn1 をマウスクリックすると、
                Btn1 : オフ(凸)→オン(凹) , Btn2 : オン(凹)→オフ(凸) , Btn3 : 変化無し
          という変化になり、Btn1/Btn2 のChange イベントが発生しますが、このイベントは2つとも『Btn1_Change
          イベントプロシジャー』として発生し、その時に受け取る引数の内容が、一方はBtn1 で 他方はBtn2 と
          いう動きになります。
        ・排他なし で、『 Btn3.OnValueSet 』を実行した場合、発生するChange イベント(元々オン(凹)だった
          ボタンでは発生しません)は全て『Btn3_Change イベントプロシジャー』 として発生します。

    ( Index )
      状態の変化した[トグルラベル]ボタンの番号(Rgst メソッドで登録したコレクション内での順番です。
      1から割当てられます)が返ります。
    ( Btn_Label )
      状態が変化した[トグルラベル]ボタンのラベルコントロールオブジェクトが返ります。
    ( Btn_Value )
      状態が変化した[トグルラベル]ボタンの、変化した結果のボタン状態(オン:凹/オフ:凸)が、True / False
      で返ります。
    ( MyEvent )
      現在、このイベントで通知されたイベントが、[ object ]自身のラベルコントロールに対するものか、同一グ
      ループ内の、他のボタン(ラベルコントロール)に対するものかが、True / False で返ります。
      True の場合、 Btn_Label = object です。

    利用元で、トグルラベルボタンのチェンジイベント処理が必要なければ、利用元モジュール内に、
          この[ object_Change ]プロシジャーを記述する必要はありません

 

イベント発生通知 受領プロシジャー( clsTglLabel のみ) 】
-- clsTglLabl のみ -- (clsTglLabel と Click の間のアンダーバーは、2つ並べます)
Public Sub clsTglLabel__Click(ByVal Index As Integer, _
                                            ByVal Btn_Label As MSForms.Label, _
                                            ByVal Btn_Value As Boolean, _
                                            ByVal GrpId As String)

    マウスクリックが行なわれた際に、UserForm側が[clsTglLabel ]クラスからイベント発生の通知を受け取る
    為の窓口ルーチンです。必ず、この名前で且つ[Public ]指定で記述して下さい。

    発生のタイミング等は、上記[clsTglLabelEx の Click イベント]と同じですので、そちらを参照して下さい。

    ( Index )
      マウスクリックした[トグルラベル]ボタンの番号(Rgst メソッドで登録したコレクション内での順番です。
      1から割当てられます)が返ります。
    ( Btn_Label )
      マウスクリックした[トグルラベル]ボタンのラベルコントロールオブジェクトが返ります。
    ( Btn_Value )
      マウスクリックした[トグルラベル]ボタンの、変化した結果のボタン状態(オン:凹/オフ:凸)が、True /
      Falseで返ります。
    ( GrpId )
      UserForm上で、複数のグループが有る場合でも、この窓口ルーチンは『唯1つ』です。どのグループ
      に対する通知なのかが返りますので、この[GrpId ]によって、各グループのクリックイベント処理ルー
      チンへ振り分けて下さい。

    利用元で、トグルラベルボタンのクリックイベント処理が必要ない場合であっても、このプロシジャー
          自体は必要です。その場合は『空のプロシジャー』としてください。

          Public Sub clsTglLabel__Click(ByVal Index As Integer, _
                                                  ByVal Btn_Label As MSForms.Label, _
                                                  ByVal Btn_Value As Boolean, _
                                                  ByVal GrpId As String)
           ' 何も処理を記述しない
          End Sub

 

-- clsTglLabl のみ -- (clsTglLabel と Change の間のアンダーバーは、2つ並べます)
Public Sub clsTglLabel__Change(ByVal Index As Integer, _
                                              ByVal Btn_Label As MSForms.Label, _
                                              ByVal Btn_Value As Boolean, _
                                              ByVal GrpId As String _
                                              ByVal MyEvent As Boolean)

    ボタンの状態が変化した際に、UserForm側が[clsTglLabel ]クラスからイベント発生の通知を受け取る
    為の窓口ルーチンです。必ず、この名前で且つ[Public ]指定で記述して下さい。

    発生のタイミング等は、上記[clsTglLabelEx の Change イベント]と同じですので、そちらを参照して下さい。

    ( Index )
      状態の変化した[トグルラベル]ボタンの番号(Rgst メソッドで登録したコレクション内での順番です。
      1から割当てられます)が返ります。
    ( Btn_Label )
      状態が変化した[トグルラベル]ボタンのラベルコントロールオブジェクトが返ります。
    ( Btn_Value )
      状態が変化した[トグルラベル]ボタンの、変化した結果のボタン状態(オン:凹/オフ:凸)が、True / False
      で返ります。
    ( GrpId )
      UserForm上で、複数のグループが有る場合でも、この窓口ルーチンは『唯1つ』です。どのグループ
      に対する通知なのかが返りますので、この[GrpId ]によって、各グループのクリックイベント処理ルー
      チンへ振り分けて下さい。
    ( MyEvent )
      現在、このイベントで通知されたイベントが、[ object ]自身のラベルコントロールに対するものか、同一グ
      ループ内の、他のボタン(ラベルコントロール)に対するものかが、True / False で返ります。
      True の場合、 Btn_Label = object です。

    利用元で、トグルラベルボタンのチェンジ処理が必要ない場合であっても、このプロシジャー自体は
          必要です。その場合は『空のプロシジャー』としてください。

          Public Sub clsTglLabel__Change(ByVal Index As Integer, _
                                                    ByVal Btn_Label As MSForms.Label, _
                                                    ByVal Btn_Value As Boolean, _
                                                    ByVal GrpId As String _
                                                    ByVal MyEvent As Boolean)
           ' 何も処理を記述しない
          End Sub

 

メソッド
object .Rgst    ラベルコントロール, Index, ラベルコレクション, GrpID, Exclusive

    [トグルラベル]ボタンを構成するラベルコントロールを登録するメソッドです。
    このRgst メソッドの実行に先立って、同じグループになるラベルコントロールのコレクションを作成して
    おく必要があります。
    Rgst メソッドの後で、[ clsTglLabel ]クラスの場合は『Caller プロパティ』を、[clstglLabelEx ]クラスの場合
    は『Parent プロパティ』を設定する必要があります。

    ( ラベルコントロール )
      [clsTglLabel ][clsTglLabelEx ]クラスのボタンとして使うラベルコントロールオブジェクトを指定します。
    ( Index )
      ボタン番号を指定します。同一グループ内で、Rgst メソッドで登録する順に、1から1ずつカウントアップ
      して設定していきます。この値は、コレクション内でのラベルコントロールの順番と同じである必要があり
      ます。
    ( ラベルコレクション )
      同一グループを構成するラベルコントロールのコレクションを指定します。
    ( GrpID )
      複数のボタングループ(= 複数の[ object ])を使用する場合、そのグループを区別する「文字列」を
      指定します。1グループしか使わないならば「空文字: "" 」で構いません。
    ( Exclusive )
      True を指定すると「排他あり」、 False を指定すると「排他なし」になります。
 

object .Init    OnColor , OffColor , InitValue               (第 2 版で追加)

    [トグルラベル]ボタンの、オン/オフ時の ボタンカラーを OnColor / OffColor で指定すると、クラス側で
    オン/オフ時に自動的に色を変更します。

    Array 関数に True/False を並べたものを、InitValue に指定する事で、ボタンの初期状態を設定できます。

    ( OnColor / OffColor )
      オン(凹)の時のボタンカラーとオフ(凸)の時のボタンカラーを指定します。
      ( vbRed , vbBlue ) や ( vbButtonFace , vbWindowText ) 等のカラー定数 もしくは RGB 関数、
      16進数で指定します。

    ( InitValue )
      Array 関数によるVariant 配列(True / False)を指定します。Array 関数内に、先頭から順に、ボタン番号
      順で、オン(True )・オフ(False )を並べて指定します。ボタン番号は「1〜」、Array 関数による配列の引数
      は「0〜」からでズレていますが、気にせずに Array 関数には先頭から並べてください。
      ボタン数より多く並べた部分は無視されます。ボタン数より少ない場合は、残りの部分が初期状態設定され
      ません(凹凸 と ボタンカラー)。

      排他指定の場合、True を複数指定しても有効になるのは最初のものだけです。
 

object .OnValueSet    [ Index ]

    [ object ]と同じグループの[トグルラベル]ボタンをオン(凹)状態にするメソッドです。
    Index 引数の指定で「グループ全体 / 個別のボタン1つ」という使い分けが出来ます。
    排他あり の場合には、下記のようになります。
        ・ グループ全体(Index を省略/ゼロ)に対して実行しても機能しません(ボタン状態は変化しません)
        ・ ボタンを指定して実行すると、既にオン(凹)状態のボタンが存在する場合は、そのボタンはオフ
           (凸)状態に変わります

    この場合の[ object ]に記述するものは、グループの代表として『[ object ]と同じグループ全体
    への処理です』という意味での使われ方になります(ボタン番号[ 1 ]のものを指定しても、[ 2 ]の
    ものを指定しても同じ動作になります)。

    [ object ]そのものへ対しての値の設定ならば[Value プロパティ]でも行なえます。

    ( Index )
      ボタン番号(Rgst メソッドで登録したコレクション内での順番です)を指定します。
      「排他あり」の場合、それまでオン(凹)だったボタンはオフ(凸)に変わります。
      「排他なし」の場合、省略 もしくは ゼロ を指定すると、[ object ]と同じグループの全てのボタン
      がオン(凹)になります。
       「排他あり」の場合には、省略/ゼロ としても機能しません。
 

object .OffValueSet    [ Index ]

    [ object ]と同じグループの[トグルラベル]ボタンをオフ(凸)状態にするメソッドです。
    Index 引数の指定で「グループ全体 / 個別のボタン1つ」という使い分けが出来ます。
    排他有無に係わり無く、指定したボタンはオフ(凸)状態になります。

    この場合の[ object ]に記述するものは、グループの代表として『[ object ]と同じグループ全体
    への処理です』という意味での使われ方になります(ボタン番号[ 1 ]のものを指定しても、[ 2 ]の
    ものを指定しても同じ動作になります)。

    [ object ]そのものへ対しての値の設定ならば[Value プロパティ]でも行なえます。

    ( Index )
      ボタン番号(Rgst メソッドで登録したコレクション内での順番です)を指定します。
      指定したボタンはオフ(凸)になります。
      省略 もしくは ゼロ を指定すると、[ object ]と同じグループの全てのボタンがオフ(凸)になります。
 

プロパティ
object .Item    [ = ラベルコントロール ]

    [ object ]に対して、Rgst メソッドで登録したラベルコントロールが返るプロパティです。
    値の取得のみ可能です。

    ( 値の取得 )
      [ object ]に登録したラベルコントロールオブジェクトが返ります。


object .Index    [ = Integer ]

    [ object ]に対して登録したラベルコントロールのボタン番号が返るプロパティです。
    値の取得のみ可能です。

    ( 値の取得 )
      [ object ]のボタンが 「グループ内で何番目になるのか」 というボタン番号が返ります。
 

object .Count

    [ object ]と同じグループのボタンの数(Rgst メソッドで登録したラベルコントロールのコレクション
    属するラベルコントロールの数)を返すプロパティです。
    値の取得のみ可能です。

    ( 値の取得 )
      この[ object ]と同じグループボタンの数が返ります。
  

object .GrpID

    [ object ]と同じグループのボタンに対して設定した識別文字列(Rgst メソッドで登録した文字列)を
    返すプロパティです。
    値の取得のみ可能です。

    ( 値の取得 )
      この[ object ]と同じグループを識別する文字列が返ります。
  

-- clsTglLabl のみ --
object .Caller    [ = String ]

    clsTglLabel クラス ⇔ 利用元UserForm 間の相互処理に使うプロパティです。
    利用元のUserForm名(Nameプロパティ)を指定します。
    値の取得と設定が可能です。

    ( 値の取得 )
      利用元のUserForm名が返ります。

    ( 値の設定 )
      実際には、利用元のUserForm内で[ Me.Name ]を渡します。
 

-- clsTglLablEx のみ --
object .Parent    [ = clsTglLblGrp クラスオブジェクト ]

    clsTglLabelEx ⇔ clsTglLblGrp クラス間の相互処理に使うプロパティです。
    ユーザーが clsTglLabelEx クラスを直接使う場合には不要です。
    [ object ]の親となるclsTglLblGrp クラスオブジェクトを指定します。
    値の取得と設定が可能です。

    ( 値の取得 )
      [ object ]の親となるclsTglLblGrp クラスオブジェクトが返ります。

    ( 値の設定 )
      実際には、clsTglLblGrp クラス内で[ Me ]キーワードにより自オブジェクトを渡します。
 

object .Value    [ = Boolean ]

    [ object ]のボタンの「オン(凹)/オフ(凸)」状態を表します。値の設定と取得が可能です。

    ( 値の取得 )
      ボタンが オン(凹)の場合は True が返ります。オフ(凸)の場合は False が返ります。

    ( 値の設定 )
      False を設定すると、ボタンがオフ(凸)になります。
      True を設定すると、
          ・「排他あり」の場合(オンはひとつだけ可)、自ボタンはオン(凹)になり、それまでオンになっていた
            他のボタンはオフ(凸)に変わります。
          ・「排他なし」の場合、自ボタンはオン(凹)になります。他のボタンは、そのままです。
 

object .GrpValue    ( [ Index ] ) [ = Variant ( Integer / Boolean / #NA) ]

    [ object ]と同じグループのボタンの「オン(凹)/オフ(凸)」状態を表します。
    個別のボタンの状態(オン/オフ)と、グループ全体で「何番目がオン」という情報を取得できます。
    値の取得のみ可能です。

    この場合の[ object ]に記述するものは、グループの代表として『[ object ]と同じグループ全体
    への処理です』という意味での使われ方になります(ボタン番号[ 1 ]のものを指定しても、[ 2 ]の
    ものを指定しても同じ動作になります)。

    ( Index )
      ボタン番号(Rgst メソッドで登録したコレクション内での順番です)を指定します。省略可。

    ( 値の取得 )
      Index にボタン番号を指定した場合、
          そのボタンのオン/オフが True / False で返ります。
          ボタン番号がグループ内のボタン数を越えている場合はエラー値(#N/A)が返ります。

      Index を省略 もしくは ゼロ を指定 した場合
          ・全てのボタンがオフならば ゼロ が返ります。
          ・「排他あり」の場合(オンはひとつだけ可)、オン状態のボタン番号が数値で返ります。
          ・「排他なし」の場合、
                オン状態のボタンがひとつだけならば、そのボタン番号(1〜)が返ります。
                複数のボタンがオンの場合は[ -1 ]が返ります。
 

object .Enabled    [ = Boolean ]

    [ object ]のボタンの操作可否(ラベルコントロールの Enabled プロパティ)の値を表します。値の設定
    と取得が可能です。

    ( 値の取得 )
      [ object ]に対応するラベルコントロールの Enabled プロパティ の値( True/False )が返ります。

    ( 値の設定 )
      [ object ]に対応するラベルコントロールの Enabled プロパティ に指定の True/False を設定します。
 

object .GrpEnabled    [ = Boolean ]

    [ object ]と同じグループの全ボタンの操作可否(ラベルコントロールの Enabled プロパティ)を処理
    します。値の設定と取得が可能です。

    この場合の[ object ]に記述するものは、グループの代表として『[ object ]と同じグループ全体
    への処理です』という意味での使われ方になります(ボタン番号[ 1 ]のものを指定しても、[ 2 ]の
    ものを指定しても同じ動作になります)。

    ( 値の取得 )
      [ object ]と同じグループの全ボタンについて
          ・ラベルコントロールの Enabled プロパティが 全て True の場合、True を返します。
          ・上記以外の場合、False を返します。

    ( 値の設定 )
      [ object ]と同じグループの全てのボタンについて、そのラベルコントロールの Enabled プロパティ に
      指定の値(True/False )を設定します。
 



  [トグルラベル]クラスのサンプル解説ページ [ clsTglLblGrp/clsTglLabelEx ]  [ clsTglLabel ]



 Home   Back Page   

ロゴ(ゴールド)   ロゴ(ゴールド)

角田 桂一 Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.