【 擬似からの脱却 】 [ Breakthrough in the Pseudo-Control
Arrays ]
[ clsBpca の 軌跡 ] [ 前頁 , 次頁 , §1 , §2 , §3 , §4 , §5 , §6 , §7 , §8 , §9 , §10 , §11 , §12 ]
[ 汎用クラス , トグルラベル クラス , Focus クラス , クラス アドイン , カレンダークラス ] [ 質問はメールへ ]
====================================================================
Focus クラスモジュール [ clsBpcaFocus / clsBpcaFocus97
] リファレンス
====================================================================
( Ver 1.4 で x64 対応となりました )
汎用クラス(clsBpca) Ver 2.0 で Enter/Exit のイベント処理が可能になりました。
これにより、ActiveControl 表示も汎用クラスで対応できます。
今後はそちらを利用して下さい。 (2014/8/11)
--- フォーカス のあるコントロールを強調表示したい ---
良く聞かれる話です。その為には『Enter で色を付けて、Exit で色を戻す』という処理が必要です。ただし、フォーム
上にある【全て】のコントロールの Enter/Exit に処理が必要になります。これは、コーディング量としても効率としても
無駄が多いですね。そうすると、クラスモジュール化する事でEnter/Exit を一元化できないかと考えますが、残念な事
に、クラスモジュール内では Enter/Exit が取得できません。良く聞かれる要望ではあるけれども、未だ実現されてい
ない所以です。
先日、モーグ/VBA の掲示板で、この要望の質問があり、そこでは
クラス内にエンドレスループ(他の処理が出来ないのでは困りますのでタイマー処理などとの併用)
を用意し、その中で アクティブコントロールの移動を「常時監視」、変化が有ったら「
RaiseEvent に
よりカスタムイベントを起こす」
という手法が紹介されていました。この場合「エンドレスループの合間・合間で
本来の処理 をさせて貰う」といった形式
になります(VBAユーザーの目からは多少奇異に見えるかも知れませんが、イベント監視としては当然の方向です)。
そこで、今一度、この「フォーカス監視」問題を整理してみると、
何故、「常時監視」が必要なのか?
何時、どこから、どこへ、移るか判らないので、目を離す訳にいかないから
でも、フォーカス移動って、勝手には発生しないよね?
起こるのは[Tab/Enter/アクセスキーなどキー操作]
[マウスクリック] [SetFocusメソッドを実行] した時だけだね
前の2つは、KeyDown/Up , MouseDown/Up が起こるよね。後の1つはマクロ側で「今この時」って判るよね。
そうすると、その時に、ActiveControl が変わっていないかチェックすれば良いだけのような?
後の1つは、兎も角も、前の2つは全部のコントロールにイベントを用意しないといけないから、結局は、
律儀に Enter/Exit を用意するのと同じ事
クラスを使って一元化すれば?
見つけたフォーカス移動をUserForm
に知らせる手段が無い
RaiseEvent 使えば〜〜?
沢山のコントロールを纏める為には[クラスオブジェクト配列]になる訳だけど、その場合、RaiseEvent
を
受け取る為の[WithEvents ]定義がUserForm側で出来ない(WithEvents
の仕様)
この問題のジレンマとは、こういう事になりますね。
逆に言えば、クラスを使って全て(必要な部分だけでも良し)のコントロールのKeyDown/Up , MouseDown/Up イベント
を纏めつつ、UserForm側では[WithEvents ]指定でカスタムイベントを受け取れれば万事丸く収まりますよね。まさに、
『擬似からの脱却』手法にピッタリな題材です。という事で、
実用例(その2) フォーカス移動検出クラス
を作ってみました♪
その結果、UserForm モジュールで肝心の「フォーカス検知&色変更」のコーディングは、UserForm上にコントロール
が幾つ配置されていようと
Private Sub FocusCtrl_GotFocus ( ByVal Index As Integer )
FocusCtrl.Item ( Index ).BackColor
= &HAAAAFF '薄赤
End Sub
Private Sub FocusCtrl_LostFocus ( ByVal Index As Integer )
With FocusCtrl
'[InitBColor]プロパティで初期背景色に戻す
.Item ( Index ).BackColor
= .InitBColor ( Index )
End With
End Sub
という2つのイベントプロシジャーだけで済むようになりました。クラスモジュールは完全ブラックボックス運用(Excel97
用では一部修正必要)になりますので手間要らずです。
===========================================================================
このフォーカス検出クラス[ clsBpcaFocus / clsBpcaFocus97 ]は、MsFormsコントロールの内、
入力系コントロールである
CommandButton , TextBox , ComboBox , ListBox
, CheckBox
OptionButton , ToggleButton , SpinButton ,
ScrollBar
について[KeyDown , KeyUp , MouseDown , MouseUp]のイベント時にアクティブコントロール
を調べ、その変化に応じて『GotFocus 』『 LostFocus 』イベントを発生させます(SpinButton
と
ScrollBar にはMouseDown/Upが無いので、SpinDown/Up,Change等で代用)。尚、Frame
,
MutiPage , TabStrip にも対応しています。
(*1) SpinButton と ScrollBar は若干反応が遅れるようです。またマウスクリックで、SpinButton と ScrollBar
を行き来する場合、稀にScrollBar のLostFocusを見逃すようで、ScrollBar の背景色が強調のまま、
SpinButton も強調表示になるケースがあります。
(*2) Frame/MutiPage 内にある[タブオーダー最後]のTextBox
において、Tab/Enter 等で入力終了した
際に、BeforeUpdate イベントで[Cancel
= True ]を行なった場合、
カーソルは TextBox に残っているのに、フォーカス強調表示が Frame の次へ移っている
という奇妙な状態になります。これは、clsBpcaFocus クラスによる障害ではありません。Frame/MultiPage
が元々抱えている障害です(フォーカス強調表示した事によって目立ってしまったという訳です)。
この症状はサンプルブックで下記のようにする事で確認できます。
(1) Frame1 内の
TextBox4 のタブオーダーを「最後」にする。
(2) UserForm モジュールに下記コードを追加する。
Private Sub TextBox4_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If (TextBox4.Value = "a") Then
Cancel = True
End If
End Sub
(3) テストフォームを表示して、TextBox4
に [ a ] を書き込んでから、Tab/Enter する。
(4) カーソルが
TextBox4 に残ったまま、強調表示が MultiPage の TextBox へ移る。
この時、実際に、UserForm レベルの[ActiveControl]はMultiPage1 を指しており、
Frame1 を指してはいません。
[ clsBpcaFocus / clsBpcaFocus97 ] クラス定義 および サンプル ブック [ Bpca_Focus_V15.zip ] (99KB)
( 2004/6/23 Ver1.1 )
( 2005/3/11 Ver1.2) 解説文・クラスソース・サンプルソースにおいて、オブジェクト定義時での[New]指定
を止めて、Initialize 時にインスタンス生成(Set
ステートメント)するように修正しました。
( 2011/4/15 Ver1.3) クラスの機能変更はありません。サンプルフォームから RefEdit コントロール を削除しただけです。
( 2011/9/20 Ver1.4) クラスで使っている Win32-API を x64 対応に修正しました。
(Item プロパティを【既定のプロパティ】にしました。記載漏れ
2014/7/22)
( 2014/7/22 Ver1.5) 各プロパティで Index 引数のエラーチェック(>0)が抜けていたのを修正しました。
getIndex プロパティを追加しました。
※ アドイン化しました [ 2005/3/8 初版 ] [ 2014/7/22 Ver 2.30 最新版で再構築 ]
汎用クラス(clsBpca Ver 2.0) で Enter/Exit がサポートされた事に伴い、クラスアドイン
の最新版(Ver3.00)ではフォーカス検出クラス(clsBpcaFocus)の収録を取り止めました。
==========================================================================
[ clsBpcaFocus/clsBpcaFocus97 ] クラス イベント/メソッド/プロパティ一覧
==========================================================================
※ アドイン化したクラスモジュールを利用する場合は下記のインポート作業は不要です。
Excel2000 以上では[ clsBpcaFocus ]クラスが利用できます。
[ clsBpcaFocus ]クラスを使う場合は、一緒に[ clsBpcaFocusCh ]クラスもインポートする必要があります。
Excel97 では[ clsBpcaFocus97 ]クラスを使って下さい(Excel2000
以上 と Excel97 の両方で使う場合を含む)。
[ clsBpcaFocus97 ]クラスを使う場合は、一緒に[ clsBpcaFocus97Ch ]クラスもインポートする必要があります。
[ clsBpcaFocusCh/clsBpcaFocus97Ch ]クラスは、各々[
clsBpcaFocus/clsBpcaFocus97 ]クラスの下位クラスです
(ユーザーサイドで直接このクラスを使うことはありません)。
下記で[ object ]の部分には、clsBpcaFocus/clsBpcaFocus97 クラスを定義したオブジェクト変数を記述します。
尚、[ 2K ]表記は clsBpcaFocus 用、[ 97 ]表記は clcBpcaFocus97 用、無印は共通 です。
Ver 1.4 で x64 対応になりました。
|
【 定 義 】 |
[ 2K ]
|
UserForm モジュールの宣言セクション(モジュールの先頭)で、下記のように定義します。
Private WithEvents object As clsBpcaFocus
( object )
任意の名前を指定して下さい。
[ Initialize ] イベントプロシジャーにて下記のようにしてクラスのインスタンスを作成します。
Set object = New clsBpcaFocus
|
※ アドイン化したクラスを利用している場合は、New キーワードを使わずに下記のようにします。
Set object = CreateBpcaFocus ( )
(CreateBpcaFocus 関数は、クラスアドイン で用意してある関数です)
|
|
[ 97 ]
|
UserForm モジュールの宣言セクション(モジュールの先頭)で、下記のように定義します。
WithEvents は付けません。
Private object As clsBpcaFocus97
( object )
任意の名前を指定して下さい。
[ Initialize ] イベントプロシジャーにて下記のようにしてクラスのインスタンスを作成します。
Set object = New clsBpcaFocus97
|
※ アドイン化したクラスを利用している場合は、New キーワードを使わずに下記のようにします。
Set object = CreateBpcaFocus97 ( )
(CreateBpcaFocus97 関数は、クラスアドイン で用意してある関数です)
|
|
|
【 メソッド 】 |
|
object .Add MsForms コントロール オブジェクト
コントロール配列化するコントロールオブジェクトを[ clsBpcaFocus
]クラスに追加するメソッドです。
[ object ]グループとして配列化するコントロール全てに対して、
Add メソッドを繰り返し、最後に Rgst メソッド
で登録します。
Add メソッドで登録した順に、コントロール番号が 1 から割り当てられます。この番号が、各種イベント/プロ
パティ において [ Index ] として扱われます。
(注) clsBpcaFocus /clsBpcaFocus97 クラスでは、入力系コントロールのみ対象にしますので、ラベル等を
指定した場合は無視されます(当然、その際にはコントロール番号も振られません)。
( MsForms コントロール オブジェクト )
コントロール配列化する、コントロールオブジェクトを指定します。
実際には、利用例にあるように、[Me.Controls ] コレクションから、For Each ステートメントで全てを登録します。
|
[ 2K ]
|
object .Rgst Form
Add メソッドで追加したコントロールの登録処理を行なうメソッドです。Add
メソッドを繰り返した後に
行ないます。
( Form )
自UserForm を指定します。実際には「Me 」キーワードを記述して下さい。
|
[ 97 ]
|
object .Rgst Form , Caller , GrpId
Add メソッドで追加したコントロールの登録処理を行なうメソッドです。Add
メソッドを繰り返した後に
行ないます。
( Form )
自UserForm を指定します。実際には「Me 」キーワードを記述して下さい。
( Caller )
自UserForm を指定します。実際には「Me 」キーワードを記述して下さい。
(補) 引数[ Form ]はMsForms.UserForm型、引数[ Caller
]はObject型で受け取ります。
[ Caller ]はUserForm 内の「イベント通知受領プロシジャー」を呼び出す為のオブジェクト参照
に使っています(MsForms.UserForm型ではNGな為)。
( GrpId )
複数のコントロール配列グループ(= 複数の[ object ])を使用する場合、そのグループを区別する
「文字列」を指定します。1グループしか使わないならば「空文字: "" 」でも構いません。
|
|
object .Clear
クラスの解放などの終了処理です。
UserForm の[Terminate ]イベントで必ず実行して下さい。
|
|
object .FocusCheck
アクティブコントロールを調査し、フォーカスが移動している場合には[LostFocus/GotFocus
]イベント
を発生させるメソッドです。子クラス[clsBpcaFocusCh/clsBpcaFocus97Ch
]で使われるメソッドですが、
UserForm 側でも使います。
UserForm モジュールでは、下記の場所で使います。
(1) UserForm_Activate イベントプロシジャーに記述して、表示直後のフォーカスを取得します。
(2) SetFocus メソッドを記述する場合は、その直後に、FocusCheck
メソッドを記述して下さい。
(3) 標準コントロール以外を配置している場合(RefEdit
等)、そのコントロールについて、Enter
イベントプロシジャーを用意し、その中に、FocusCheck
メソッドを記述して下さい。
|
|
【 プロパティ 】 |
|
object .Count [ = Integer ]
[ object ]グループのコントロール配列に登録されているコントロールオブジェクトの数を返します。
値の取得のみ可能です。
( 値の取得 )
Add メソッドで登録したコントロールの数を数値で返します。
(ラベル等の非入力系コントロールは、Addメソッドを行なっても無視されますので、これには含まれません)
この値は「コントロール 番号」の最大値でもあります。
|
|
object .getIndex ( CtrlName ) [ = Integer ]
[ object ]グループのコントロール配列に登録されているコントロールオブジェクトの中から、
コントロール名に対する Index の値(コレクション内で登録されている位置番号) を返します。
値の取得のみ可能です。
( CtrlName )
コントロール名を指定します。
( 値の取得 )
コントロール名から、各プロパティで必要な Index の値を返します。
未登録名の場合は [ -1 ] を返します。
|
|
object .Item ( Index ) [ = Object ]
[ object ]グループを構成する コントロールオブジェクトを返します。
値の取得のみ可能です。
UserForm モジュール側で、コントロールを配列として操作する場合に利用します。
Item プロパティの後にピリオドを挟んで、個々のオブジェクトのプロパティを記述できます。
例: object .Item( 1 ).Value
このプロパティは汎用の[Object 型]なので、コーディング時にプロパティ/メソッドの自動メンバ表示
が機能しません。
自動メンバ表示が機能しないとは言っても、手入力でプロパティ等を記述する事はできます(ただし、
実行時に、そのコントロールが備えていないプロパティであれば、実行時エラーになるでしょう)。
( Index )
コントロール番号(Add メソッドで追加した順に1 からの連番)を指定します。
( 値の取得 )
Index に指定した番号のコントロールオブジェクトを汎用の [ Object 型 ]で返します。
番号が「1〜コントロール数」の範囲外の場合は、[ Nothing
]が返ります。
|
※ Item プロパティ は 【既定のプロパティ】 として定義されているので、[ .Item ] を省略して
object ( 1 ).Value
という風に記述する事ができます。
|
|
|
object .InitBColor ( Index ) [ = Long ]
[ object ]グループを構成する コントロールオブジェクトの『初期背景色(Add/Rgst
メソッド実行時
に保存したBackColor プロパティの値)』を返します。
値の取得のみ可能です。
UserForm モジュール側で、LostFocus イベント時に、元の背景色へ戻す際に利用します。
例: With FocusCtrl
'
[InitBColor]プロパティで初期背景色に戻す
.Item (Index).BackColor = .InitBColor (Index)
End With
( Index )
コントロール番号(Add メソッドで追加した順に1 からの連番)を指定します。
( 値の取得 )
Index に指定した番号のコントロールオブジェクトの『初期背景色』を返します。
番号が「1〜コントロール数」の範囲外の場合は、[ -1
]が返ります。
|
|
【 イベント 】 |
|
Private Sub object_GotFocus ( ByVal Index As Integer )
Private Sub object_LostFocus ( ByVal Index As Integer )
[ object ]に登録した各コントロールのフォーカスイベントは全て、これらひとつのイベントプロシジャーで
処理されます。
( Index )
イベントが発生したコントロールの番号(Add メソッドで登録した順に1から割当てられます)が返ります。
番号は[ object ]単位で割当てられます。
イベントが発生したコントロールにアクセスするには、[
Index ]の番号を引数にして Item プロパティ を
利用します。
GotFocus で、コントロールの背景色を強調表示の色に変更するコーディングをして下さい。
LostFocus で、[InitBColor ]プロパティを使って初期背景色に戻すコーディングをして下さい。
(補) clsBpcaFocus97 クラスの場合、正確に言えば「イベントプロシジャー」ではありません。
下記の『イベント通知受領プロシジャー』 から Call される「普通のサブプロシジャー」です。
|
|
【 イベント通知 受領プロシジャー( clsBpcaFocus97 のみ) 】 |
[ 97 ]
|
clsBpcaFocus97 クラスの場合、利用側のUserForm モジュール内に、下記のプロシジャーを用意する
必要があります。
プロシジャー名は 固定 です(clsBpcaFocus97 と Event の間のアンダーバーは、2つ並べます)。複数の
UserForm で利用する場合は、各々のUserForm モジュール内に1つずつ用意する必要があります。
イベントが発生した際に、UserForm側が[ clsBpaFocus97 ]クラスからイベント発生の通知を受け取る為の
窓口ルーチンです。ここから、[ GrpId , EventId ] の内容によって、各イベント処理ルーチン(上記)へ
分岐していきます。
下記のプロシジャー名で [ Ctrl ]部分は任意です。 GrpId で指定した文字列
または そのグループの
object の名前などにすると良いでしょう。
Public Sub clsBpcaFocus97__Event _
( ByVal GrpId As String, ByVal EventId As String, ByVal Index As Integer )
Select Case GrpId
Case "xxxx" ' Rgst メソッドで指定した
GrpId 文字列
Select Case EventId
Case "Got"
Call Ctrl_GotFocus ( Index )
Case "Lost"
Call Ctrl_LostFocus ( Index )
End Select
Case "yyyy"
Select EventId
Case ‥‥‥
Case ‥‥‥
End Select
Case Else
End Select
End Sub
( GrpId )
UserForm上で、複数のグループが有る場合でも、この窓口ルーチンは『唯1つ』です。どのグループ
に対する通知なのかが返りますので、この[GrpId ]によって、各グループのイベント処理ルーチン へ
振り分けて下さい。
( EventId )
どのイベントが発生したのかが、"Got" または
"Lost" の文字列で返りますので、この[EventId ]によって、
各イベント処理ルーチン へ振り分けて下さい。
( Index )
イベントが発生したコントロールの番号(Add メソッドで登録した順に、1から設定されます)が返ります。
そのまま、各コントロールのイベント処理ルーチンへ引き継いで下さい。
|
|
【 利用 方法 】 |
[ 2K ]
[ 2K ]
[ 2K ]
|
下記はサンプルブックの、UserForm モジュールです。これに倣ってコーディングして下さい。
'フォーカス処理クラス
Private WithEvents FocusCtrl As clsBpcaFocus
'-------------------------------------------------------
Private Sub UserForm_Initialize ( )
Dim objCtrlWK As Object
Dim i As Integer
Set FocusCtrl = New clsBpcaFocus
'[Me.Controls]でFrame1/MutiPage1内のコントロールも全て入る
'RefEdit/Labelなど対象外のコントロールはクラス内で除かれる
For Each objCtrlWK In Me.Controls
FocusCtrl.Add objCtrlWK
Next objCtrlWK
FocusCtrl.Rgst Me 'クラス登録
End Sub
Private Sub UserForm_Activate ( )
'※ Show直後に[FocusCheck]を実行して初期フォーカスを取得する
FocusCtrl.FocusCheck
End Sub
Private Sub UserForm_Terminate ( )
FocusCtrl.Clear 'クラス解放【必須】
Set FocusCtrl = Nothing
End Sub
'-------------------------------------------------------
'フォーカスイベントは【GotFocus 】と【LostFocus 】
'[Index]で返るコントロール番号により、
'[Item]プロパティで対象コントロールのオブジェクトを操作する
Private Sub FocusCtrl_GotFocus ( ByVal Index As Integer )
FocusCtrl.Item ( Index ).BackColor = &HAAAAFF
'薄赤
End Sub
Private Sub FocusCtrl_LostFocus ( ByVal Index As Integer )
With FocusCtrl
'[InitBColor]プロパティで初期背景色に戻す
.Item ( Index ).BackColor = .InitBColor ( Index
)
End With
End Sub
'-------------------------------------------------------
Private Sub CommandButton1_Click ( )
'SetFocus した時は直後には必ず[FocusCheck]を実行する
TextBox3.SetFocus
FocusCtrl.FocusCheck
End Sub
Private Sub CommandButton2_Click ( )
'SetFocus した時は直後には必ず[FocusCheck]を実行する
TextBox4.SetFocus
FocusCtrl.FocusCheck
End Sub
Private Sub RefEdit1_Enter ( )
'サポート対象外のコントロールを使っている場合は、
'必ずEnterイベントプロシジャーを用意して[FocusCheck]を実行する
FocusCtrl.FocusCheck
End Sub
|
[ 97 ]
[ 97 ]
[ 97 ]
[ 97 ]
|
下記はサンプルブックの、UserForm モジュールです。これに倣ってコーディングして下さい。
'フォーカス処理クラス
Private FocusCtrl As clsBpcaFocus97
'---------------------------------------------------------
Private Sub UserForm_Initialize ( )
Dim objCtrlWK As Object
Dim i As Integer
Set FocusCtrl = New clsBpcaFocus97
'[Me.Controls]でFrame1/MutiPage1内のコントロールも全て入る
'RefEdit/Labelなど対象外のコントロールはクラス内で除かれる
For Each objCtrlWK In Me.Controls
FocusCtrl.Add objCtrlWK
Next objCtrlWK
FocusCtrl.Rgst Me, Me.Name, "FocusCtrl"
'クラス登録
End Sub
Private Sub UserForm_Activate ( )
'Show直後に[FocusCheck]を実行して初期フォーカスを取得する
FocusCtrl.FocusCheck
End Sub
Private Sub UserForm_Terminate ( )
FocusCtrl.Clear 'クラス解放【必須】
Set FocusCtrl = Nothing
End Sub
'---------------------------------------------------------
'clsBpcaFocus97クラス利用の場合、下記【FocusCtrl_GotFocus 】と
'【FocusCtrl_LostFocus 】の2つはイベントプロシジャーではありません。
'[イベント通知受領プロシジャー]を通してCallされる、通常のサブプロシジャーです。
'[Index]で返るコントロール番号により、
'[Item]プロパティで対象コントロールのオブジェクトを操作する
Private Sub FocusCtrl_GotFocus ( ByVal Index As Integer )
FocusCtrl.Item ( Index ).BackColor = &HAAAAFF
'薄赤
End Sub
Private Sub FocusCtrl_LostFocus ( ByVal Index As Integer )
With FocusCtrl
'[InitBColor]プロパティで初期背景色に戻す
.Item ( Index ).BackColor = .InitBColor ( Index )
End With
End Sub
'---------------------------------------------------------
Private Sub CommandButton1_Click ( )
'SetFocus した時は直後には必ず[FocusCheck]を実行する
TextBox3.SetFocus
FocusCtrl.FocusCheck
End Sub
Private Sub CommandButton2_Click ( )
'SetFocus した時は直後には必ず[FocusCheck]を実行する
TextBox4.SetFocus
FocusCtrl.FocusCheck
End Sub
Private Sub RefEdit1_Enter ( )
'サポート対象外のコントロールを使っている場合は、
'必ずEnterイベントプロシジャーを用意して[FocusCheck]を実行する
FocusCtrl.FocusCheck
End Sub
'===============================================================
'===== イベント通知受領プロシジャー(Public) ==========================
'===============================================================
'[clsBpcaFocus97]クラスでは、[clsBpcaFocus97]クラスに登録した
'コントロールのイベントは、全てのグループが、この
' 通知受領プロシジャー [clsBpcaFocus97__Event] <名称固定>
'を通して送られてくる。
'[GrpId]によって、所定のグループ別のイベントプロシジャーに分岐させる。
'(通知受領プロシジャーは、名前の重複を防ぐ為に敢えてアンダーバーを2つ繋げている)
Public Sub clsBpcaFocus97__Event _
(ByVal GrpId As String, ByVal EventId As String,
ByVal Index As Integer)
Select Case GrpId
Case "FocusCtrl"
Select Case EventId
Case "Got"
Call
FocusCtrl_GotFocus ( Index )
Case "Lost"
Call
FocusCtrl_LostFocus ( Index )
End Select
' Case "xxxx"
' Select Case EventId
' Case "Got"
' Call
xxxx_GotFocus ( Index )
' Case "Lost"
' Call
xxxx_LostFocus(Index)
' End Select
Case Else
End Select
End Sub
|
====================================================================
Focus クラスモジュール [ clsBpcaFocus / clsBpcaFocus97
] リファレンス
====================================================================
[ 前頁 , 次頁 , §1 , §2 , §3 , §4 , §5 , §6 , §7 , §8 , §9 , §10 , §11 , §12 ]
[ 汎用クラス , トグルラベル クラス , Focus クラス , クラス アドイン , カレンダークラス ] [ 質問はメールへ ]
[ Home へ戻る ]
|
|
|
|
角田 桂一 Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2004 Allrights Reserved. |