Oioi グラフィカルコントロール AC2020VB5ヘルプ目次
グラフィカルユーザーインターフェースです。
ラベル、ボタン、チェックボックス/ボタン、オプションボックス/ボタン、フレーム、パネルのユニットを作れます。
一つのコントロールユニットに複数の子セルを作れます。
このコントロール内に、他のコントロールを配置できます。
全てのプロパティとメソッドで、サイズの数値は
Twips 単位を使用します。
rUnitIndex ユニットインデックス、rCellIndex
セルインデックスは、1から始まります。
このコントロールでは、OLE ドラッグドロップ操作はできません。

Oioi プロパティ
VBの標準プロパティ
Container DragIcon DragMode Height HelpContextID Index Left Name Object Parent TabIndex TabStop Tag ToolTipText Top Visible WhatsThisHelpID Width
Oioi メソッド
VBの標準メソッド
Drag Move SetFocus ShowWhatsThis
Oioi イベント
VBの標準イベント
DragDrop DragOver GotFocus LostFocus

Oioi プロパティ


Oioi
Property Get / Let BackColor As OLE_COLOR [規定値] vbButtonFace
コントロール全体の背景色。
ForeColor BorderType UnitBackColor UnitForeColor

Oioi
Property Get / Let BorderType As EnumOioiBorderType [規定値] Oioi_BorderNone
= 0 周囲の境界なし
コントロール全体の外枠の状態、3D外枠、枠なし、枠の位置などを設定。
'BorderType 定数
Public Enum EnumOioiBorderType
Oioi_BorderNone = 0
'(既定値) 境界線はなし
Oioi_BorderSingleDown = 1
'周囲に 凹型の3Dの境界線
Oioi_BorderSingleUp = 2
'周囲に 凸型の3Dの境界線
Oioi_BorderTopDown = 3
'上端にだけ 凹型の3Dの境界線
Oioi_BorderTopUp = 4
'上端にだけ 凸型の3Dの境界線
Oioi_BorderBottomDown = 5
'下端にだけ 凹型の3Dの境界線
Oioi_BorderBottomUp = 6
'下端にだけ 凸型の3Dの境界線
Oioi_BorderTopBottomDown =
7 '上端と下端に 凹型の3Dの境界線
Oioi_BorderTopBottomUp = 8
'上端と下端に 凸型の3Dの境界線
End Enum
BorderWidth

Oioi
Property Get / Let BorderWidth As Long [規定値] 2
コントロールの外枠境界線の太さをピクセル単位で取得/設定。
BorderType

Oioi
Property Get / Let CaptionCell(ByVal rUnitIndex As Long, ByVal rCellIndex
As Long) As String
一つのセルのキャプションを取得/設定。
rUnitIndex, rCellIndex = ユニットインデックス、セルインデックス。
CaptionsUnit

Oioi
Property Get / Let CaptionMargin(ByVal rUnitIndex As Long) As Long [規定値] 0
ユニットのキャプション位置を微調整するためのオフセットマージン。
rUnitIndex = ユニットインデックス。
Twips 単位で設定/取得します。
CaptionPostOffSet

Oioi
Property Get / Let CaptionsUnit(ByVal rUnitIndex As Long, ByVal rCellCapStrLen
As Long) As String
ユニット内のセルのキャプションをすべて取得/設定します。
取得/設定する文字列は、セルの個数だけキャプションを並べたものです。
rCellCapStrLen は1個のセルのキャプションの最大の長さを指定します。
たとえば、"ABC あいう CaptionsCapLen " の文字列、rCellCapStrLen = 7 の場合は、
1番に "ABC"、2番に "あいう"、3番に
"Captions"、4番に "CapLen"
のセルキャプションをそれぞれに設定します。
設定する文字列の長さがセルの個数に足りない場合には、それ以降のセルのキャプションは設定されません。
rCellCapStrLen As Long = 1つのセルのキャプションに割り当てられる文字列の長さ。
rUnitIndex = ユニットのインデックス
CaptionCell

Oioi
Property Get CellBottom(ByVal rUnitIndex As Long, ByVal rCellIndex
As Long) As Long
セルの下端。
rUnitIndex, rCellIndex = ユニットインデックス、セルインデックス。
Twips 単位で取得します。
取得専用
CellLeft CellTop CellRight

Oioi
Property Get CellCount(ByVal rUnitIndex As Long) As Long
ユニット内のセルの総数。
rUnitIndex = ユニットインデックス。
取得専用
CellIndex

Oioi
Property Get CellIndex(ByVal rUnitIndex As Long, ByVal rCellCaption
As String) As Long
ユニット内で rCellCaption のキャプションをもつセルのインデックス。
rUnitIndex = ユニットインデックス。
取得専用
CellCount

Oioi
Property Get CellLeft(ByVal rUnitIndex As Long, ByVal rCellIndex
As Long) As Long
セルの左端。
rUnitIndex, rCellIndex = ユニットインデックス、セルインデックス。
Twips 単位で取得します。
取得専用
CellTop CellRight CellBottom

Oioi
Property Get CellRight(ByVal rUnitIndex As Long, ByVal rCellIndex
As Long) As Long
セルの右端。
rUnitIndex, rCellIndex = ユニットインデックス、セルインデックス。
Twips 単位で取得します。
取得専用
CellLeft CellTop CellBottom

Oioi
Property Get CellTop(ByVal rUnitIndex As Long, ByVal rCellIndex
As Long) As Long
セルの上端。
rUnitIndex, rCellIndex = ユニットインデックス、セルインデックス。
Twips 単位で取得します。
取得専用
CellLeft CellRight CellBottom

Oioi
Property Get / Let CheckCellCapVal(ByVal rUnitIndex As Long, ByVal rCellCaption
As String) As Boolean
チェックグループユニット内の、指定セルの選択状態を取得/設定
( rCellCaption でセルを指定 )
rUnitIndex = ユニットインデックス。
チェックボタン、チェックボックスで使用できます。それ以外のユニットで呼び出しても無視されます。
CheckCellVal CheckSelCellArray OptionSelCell OptionSelCellCap

Oioi
Property Get / Let CheckCellVal(ByVal rUnitIndex As Long, ByVal rCellIndex
As Long) As Boolean
チェックグループユニット内の、指定セルの選択状態を取得/設定
( rCellIndex でセルを指定 )
rUnitIndex, rCellIndex = ユニットインデックス、セルインデックス。
チェックボタン、チェックボックスで使用できます。それ以外のユニットで呼び出しても無視されます。
CheckCellCapVal CheckSelCellArray OptionSelCell OptionSelCellCap

Oioi
Property Get / Let Enabled As Boolean [規定値] True
コントロール全体の使用を、許可/禁止。
EnabledsUnit EnabledCell

Oioi
Property Get / Let EnabledCell(ByVal rUnitIndex As Long, ByVal rCellIndex
As Long) As Boolean
ユニット内のそれぞれセルの Enabled。
rUnitIndex, rCellIndex = ユニットインデックス、セルインデックス。
Enabled EnabledsUnit

Oioi
Property Get / Let EnabledsUnit(ByVal rUnitIndex As Long) As String
ユニット内のそれぞれセルの EnabledCell を連結して文字列にしたもの。
文字列上の各セルの位置の文字が
"1" であれば、EnabledCell = True になり、
"0" であれば EnabledCell = False になります。
rUnitIndex = ユニットインデックス。
Enabled EnabledCell

Oioi
Property Get / Set Font As Font [規定値] 親オブジェクトのフォント
コントロール全体の表示用フォントを取得/設定。
UseParentFont

Oioi
Property Get / Let ForeColor As OLE_COLOR [規定値] vbButtonText
コントロール全体の文字の色。
BackColor UnitBackColor UnitForeColor

Oioi
Property Get hdc As Long
このコントロールの hdc
取得専用
hwnd Redraw Refresh

Oioi
Property Get hwnd As Long
このコントロールの hwnd
取得専用
hdc Redraw Refresh

Oioi
Property Get / Let MousePointer As Integer [規定値] vbDefault
このコントロールの MousePointer を取得/設定。

Oioi
Property Get / Let OptionSelCell(ByVal rUnitIndex As Long) As Long
オプショングループユニット内の、選択セルを取得/設定
( Long = CellIndex でセルを選択 )
rUnitIndex = ユニットインデックス。
オプションボタン、オプションボックスで使用できます。それ以外のユニットで呼び出しても無視されます。
OptionSelCellCap CheckCellVal CheckCellCapVal

Oioi
Property Get / Let OptionSelCellCap(ByVal rUnitIndex As Long) As String
オプショングループユニット内の、選択セルを取得/設定
( String = CellCaption でセルを選択 )
rUnitIndex = ユニットインデックス。
オプションボタン、オプションボックスで使用できます。それ以外のユニットで呼び出しても無視されます。
OptionSelCell CheckCellVal CheckCellCapVal

Oioi
Property Get PageCount As Long [規定値] 1
このコントロールで使用しているページ数を取得。(
1 〜 PageCount )
有効な最大のページインデックスは、PageCount
と同じです。
取得専用
PageCurrent PageChangeBefore PageChangeAfter

Oioi
Property Get / Let PageCurrent As Long [規定値] 1
このコントロールの現在の表示ページを取得/設定。
設定できるページインデックスは、1 〜 PageCount
迄です。
PageCount PageChangeBefore PageChangeAfter

Oioi
Property Get / Set Picture As Picture [規定値] なし
このコントロールの Picture を取得/設定。
Font

Oioi
Property Get ScaleHeight As Single
このコントロールの ScaleHeight を取得。
Twips 単位で取得します。
取得専用
ScaleMode ScaleWidth hdc

Oioi
Property Get ScaleMode As Long [規定値] vbTwips
このコントロールの ScaleMode を取得。
取得専用
ScaleWidth ScaleHeight hdc

Oioi
Property Get ScaleWidth As Single
このコントロールの ScaleWidth を取得します。
Twips 単位で取得します。
取得専用
ScaleMode ScaleHeight hdc

Oioi
Property Get / Let TipEditBackColor As OLE_COLOR [規定値] vbWindowBackground
コントロールのユニット群で共用するチップエディットの BackColor を取得/設定。
TipEditEnabled TipEditForeColor

Oioi
Property Get / Let TipEditEnabled(ByVal rUnitIndex As Long) As Boolean
ユニット内での、チップエディットによるテキスト入力を、許可/不許可。
ラベル、3Dラベルでのみ有効です。それ以外のユニットで呼び出しても無視されます。
rUnitIndex = ユニットインデックス。
TipEditBackColor TipEditForeColor

Oioi
Property Get / Let TipEditForeColor As OLE_COLOR [規定値] vbWindowText
このコントロールのユニット群で共用するチップエディットの ForeColor を取得/設定。
TipEditEnabled TipEditBackColor

Oioi
Property Get / Let ToolTipStr(ByVal rUnitIndex As Long, ByVal rCellIndex
As Long) As String [規定値] ""
ユニット内の各セルのチップヘルプの文字列を取得/設定。
rUnitIndex, rCellIndex = ユニットインデックス、セルインデックス。
ToolTipUse

Oioi
Property Get / Let ToolTipUse As Boolean [規定値] True
ユニットとセルの、チップヘルプの使用/不使用。
ToolTipStr

Oioi
Property Get / Let UnitBackColor(ByVal rUnitIndex As Long) As Long [規定値] BackColor
ユニットの独自の背景色を取得/設定。 設定できないユニットタイプもあります。
rUnitIndex = ユニットインデックス。
デザイン時に標準の色を設定して、実行時に独自の色に変更するためには、UnitColorUseParent = False を設定します。
UnitForeColor BackColor

Oioi
Property Get UnitBottom(ByVal rUnitIndex As Long) As Long
ユニットの下端。
rUnitIndex = ユニットインデックス。
Twips 単位で取得します。
取得専用
UnitLeft UnitTop UnitRight UnitWidth UnitHeight

Oioi
Property Get / Let UnitColorUseParent(ByVal rUnitIndex As Long) As Boolean [規定値] デザイン時の色設定に依存する
ユニットの背景色とコントロールの背景色を、強制的に一致させます。
rUnitIndex = ユニットインデックス。
デザイン時に標準の色を設定した場合は、この値は自動的に True になります。
デザイン時に標準の色を設定して、実行時に独自の色に変更するためには、この値を False にします。
UnitForeColor UnitBackColor BackColor

Oioi
Property Get UnitCount As Long
このコントロール内のユニットの総数。( 1 〜 最大ユニット数 )
取得専用

Oioi
Property Get / Let UnitForeColor(ByVal rUnitIndex As Long) As Long [規定値] ForeColor
ユニットの独自の文字の色を取得/設定。設定できないユニットタイプもあります。
rUnitIndex = ユニットインデックス。
デザイン時に標準の色を設定して、実行時に独自の色に変更するためには、UnitColorUseParent = False を設定します。
UnitBackColor ForeColor

Oioi
Property Get UnitHeight(ByVal rUnitIndex As Long) As Long
ユニットの高さ。
rUnitIndex = ユニットインデックス。
Twips 単位で取得します。
取得専用
UnitLeft UnitTop UnitRight UnitBottom UnitWidth

Oioi
Property Get UnitLeft(ByVal rUnitIndex As Long) As Long
ユニットの左端。
rUnitIndex = ユニットインデックス。
Twips 単位で取得します。
取得専用
UnitTop UnitRight UnitBottom UnitWidth UnitHeight

Oioi
Property Get UnitRight(ByVal rUnitIndex As Long) As Long
ユニットの右端。
rUnitIndex = ユニットインデックス。
Twips 単位で取得します。
取得専用
UnitLeft UnitTop UnitBottom UnitWidth UnitHeight

Oioi
Property Get UnitTop(ByVal rUnitIndex As Long) As Long
ユニットの上端。
rUnitIndex = ユニットインデックス。
Twips 単位で取得します。
取得専用
UnitLeft UnitRight UnitBottom UnitWidth UnitHeight

Oioi
Property Get / Let UnitType(ByVal rUnitIndex As Long) As String
ユニットのタイプを取得/設定。以下のタイプのオブジェクトを作れます。
ユニットタイプのコード文字列
"00" -- ラベル
"01" -- 3Dラベル
"10" -- ボタン
"20" -- フラットボタン
"21" -- フロートボタン
"22" -- ラインボタン
"11" -- チェックボタン
"12" -- チェックボックス
"13" -- オプションボタン
"14" -- オプションボックス
"50" -- フレーム
"55" -- パネル/セパレーター
rUnitIndex = ユニットインデックス。
UnitsTypeChange UnitMove

Oioi
Property Get UnitWidth(ByVal rUnitIndex As Long) As Long
ユニットの幅。
rUnitIndex = ユニットインデックス。
Twips 単位で取得します。
取得専用
UnitLeft UnitTop UnitRight UnitBottom UnitHeight

Oioi
Property Get / Let VisibleCell(ByVal rUnitIndex As Long, ByVal rCellIndex
As Long) As Boolean
ユニット内の rCellIndex のセルの Visible
を取得/設定。
設定の場合 rCellIndex = 0 であればユニット全体の
Visible を設定。
rUnitIndex, rCellIndex = ユニットインデックス、セルインデックス。
VisiblesUnit

Oioi
Property Get / Let VisiblesUnit(ByVal rUnitIndex As Long) As String
ユニット内のすべてのセルの Visible を文字列 "1"
or "0" で取得/設定。
取得/設定する文字列は "1","0" をセルの個数だけ並べたものです。
たとえば、"10011" の文字列は、1番、4番、5番、のセルの
Visible が True であることを示します。
設定する文字列の長さがセルの個数に足りない場合には、
文字列の長さ以降のセルの Visible は、すべて
True になります。
rUnitIndex = ユニットインデックス。
VisibleCell

Oioi メソッド


Oioi
Function CaptionPostOffSet(ByVal rUnitIndex As Long, ByVal rShiftX As Long, ByVal rShiftY As Long)
ユニットのキャプションの位置を微調整します。
rShiftX As Long = 横方向のオフセット量
rShiftY As Long = 縦方向のオフセット量
rUnitIndex = ユニットインデックス。
Twips 単位で設定します。
CaptionMargin

Oioi
Function CheckSelCellArray(ByVal rUnitIndex As Long, wCellIndexs() As Long, wCellCaptions() As String) As Boolean
チェックグループユニット内の選択されているセルすべての
CellIndex / CellCaption を呼び出し元提供の可変長配列に書き込みます。
wCellIndexs() As Long = CellIndex を書き込みます。
wCellCaptions() As String = CellCaption を書き込みます。
戻される配列の有効なインデックス = 1 to Ubound(Array))
rUnitIndex = ユニットインデックス。
チェックボタン、チェックボックスで使用できます。それ以外のユニットで呼び出しても無視されます。
CheckCellVal CheckCellCapVal

Oioi
Function FrameExAddDel(ByVal rUnitIndex As Long, ByVal rCellIndex As Long, ByVal FrameWidth As Long, ByVal FrameColor As Long) As Boolean
指定したユニットのセルに、 セルのサイズの枠を描画します。
ByVal FrameWidth As Long = 枠の線の太さ
ByVal FrameColor As Long = 枠の線の色
rUnitIndex, rCellIndex = ユニットインデックス、セルインデックス。
Twips 単位で設定します。

Oioi
Function IconChange(ByVal rUnitIndexDEST As Long, ByVal rCellIndexDEST As Long, ByVal rUnitIndexSURC As Long, ByVal rCellIndexSURC As Long) As Boolean
指定したユニットのセルのアイコンを、別のセルが参照できるようにします。
アイコンの実体イメージはコピーされません。
rUnitIndexDEST As Long = 他のアイコンを参照するユニット
rCellIndexDEST As Long = 他のアイコンを参照するセル
rUnitIndexSURC As Long = 参照されるユニット
rCellIndexSURC As Long = 参照されるセル

Oioi
Function Redraw(ByVal rUnitIndex As Long, ByVal rCellIndex As Long) As Boolean
ユニットの rCellIndex セルだけを再描画します。
rUnitIndex, rCellIndex = ユニットインデックス、セルインデックス。
Refresh

Oioi
Function ReDrawFlatBtn() As Boolean
フラットボタンにおいて、マウスの移動によるフォーカスフレームが描画され、
その後、フォーカスが移動しても、フレームが残ったままになる可能性がある場合に、
この関数でフレームを消去できます。
Redraw Refresh

Oioi
Function Refresh()
コントロール全体を再描画します。
Redraw

Oioi
Function TextHeight(str As String) As Single
このコントロールでの TextHeight です。
Twips 単位で取得します。
TextWidth

Oioi
Function TextWidth(str As String) As Single
このコントロールでの TextWidth です。
Twips 単位で取得します。
TextHeight

Oioi
Function UnitCellCountXY(ByVal rUnitIndex As Long, wCellCountX As Long, wCellCountY As Long) As Boolean
ユニットの横方向のセル数/縦方向のセル数を、呼び出し元提供の
wCellCountX, wCellCountY に書き込みます。
rUnitIndex = ユニットインデックス。
UnitCellSize UnitMove

Oioi
Function UnitCellSize(ByVal rUnitIndex As Long, ByVal rCellIndex As Long, wLeft As Long, wTop As Long, wWidth As Long, wHeight As Long) As Boolean
ユニットの rCellIndex セルのサイズを、
呼び出し元提供の wLeft, wTop, wWidth, wHeight
に書き込みます。
rCellIndex = 0 であればユニット全体のサイズを返します。
rUnitIndex, rCellIndex = ユニットインデックス、セルインデックス。
Twips 単位で返します。
UnitCellCountXY UnitMove

Oioi
Function UnitMove(ByVal rUnitIndex As Long, Optional ByVal rCellCountX As Long = -1, Optional ByVal rCellCountY As Long = -1, Optional ByVal rLeft As Long = -100000, Optional ByVal rTop As Long = -100000, Optional ByVal rWidth As Long = -1, Optional ByVal rHeight As Long = -1, Optional ByVal rSpaceX As Long = -1, Optional ByVal rSpaceY As Long = -1, Optional ByVal rPichX As Long = -1, Optional ByVal rPichY As Long = -1) As Boolean
ユニットのサイズなどを変更します。
rCellCountX = 横方向のセルの個数
rCellCountY = 縦方向のセルの個数
rLeft = ユニットの左端
rTop = ユニットの上端
rWidth = ユニットの全幅
rHeight = ユニットの全高
rSpaceX = 横方向のセルの間隔
rSpaceY = 縦方向のセルの間隔
rPichX = 横方向のセルのピッチ
rPichY = 縦方向のセルのピッチ
変更しない要素の引数は省略します。
セルの最大個数 (セルの横の数×セルの縦の数)
は250個です。
チェックボックス、オプションボックスでは100個です。
フレーム、パネルでは16個です。
rUnitIndex = ユニットインデックス。
Twips 単位で設定します。
UnitsMove1Line UnitsOffSet

Oioi
Function UnitsMove1Line(ByVal rLeft As Long, ByVal rTop As Long, ByVal rHeight As Long, rDatas() As Long) As Boolean
rDatas() に3ステップで入っている、横方向に1列に並んでいる各ユニットのデーターから、
新しいサイズを設定して描画する。
rDatas() = rDatas(1) to rDatas(n * 3)
n + 0 = rUnitIndex
n + 1 = rUnit の新しい幅
n + 2 = rUnit の rHeight の上端と下端から内側へ差し引く量
rLeft As Long = ユニット配列群の左端
rTop As Long = ユニット配列群の上端
rHeight As Long = ユニット配列群の高さ
Twips 単位で設定します。
UnitMove UnitsOffSet

Oioi
Function UnitsOffSet(ByVal rOffsetX As Long, ByVal rOffSetY As Long, rUnitIndexs() As Long) As Boolean
rUnitIndexs() のユニット群全体を、rOffsetX,
rOffSetY の量だけ移動させる。
rOffsetX As Long = 横方向の移動量
rOffSetY As Long = 縦方向の移動量
rUnitIndexs() As Long = ユニットインデックスの配列
Twips 単位で設定します。
UnitMove

Oioi
Function UnitsTypeChange(rUnitIndexs() As Long, ByVal NewType As String) As Boolean
指定したユニットの配列 rUnitIndexs() を、NewType のオブジェクトタイプに変更します。
rUnitIndexs() As Long = ユニットインデックスの配列
ByVal NewType As String = 新しいオブジェクトタイプ
ユニットタイプのコード文字
"00" -- ラベル
"01" -- 3Dラベル
"10" -- ボタン
"20" -- フラットボタン
"21" -- フロートボタン
"22" -- ラインボタン
"11" -- チェックボタン
"12" -- チェックボックス
"13" -- オプションボタン
"14" -- オプションボックス
"50" -- フレーム
"55" -- パネル/セパレーター
UnitType UnitMove

Oioi
Function UnitWidthSquare(ByVal rUnitIndex As Long, Optional ByVal NewHeight As Long = 0) As Long
ユニットのセルを正方形にした場合の、ユニット全体の幅を、セルの高さを基準にして算出する。
NewHeight As Long を指定すれば、その値を基準にして算出する。
rUnitIndex = ユニットインデックス。
Twips 単位で設定/取得します。
UnitCellCountXY UnitCellSize

Oioi
Function UseParentFont(ByVal rUnitIndex As Long)
このコントロールの Font フォントを、ユニットの文字に使用します。
rUnitIndex = ユニットインデックス。
Font

Oioi イベント


Oioi
Event CellCaptionChange(ByVal rUnitIndex As Long, ByVal rCellIndex As Long, ByVal rNewCellCaption As String, ByVal rOldCellCaption As String)
セルのキャプションが変更された直後に発生します。
このイベント内でキャプションを変更/修正する場合には、無限ループに入り込む可能性があることに留意してください。
rUnitIndex = キャプションが変更されたセルを含むユニットのインデックス。[コード作成]
で作成したユニットの定数です。
rCellIndex = キャプションが変更されたセルのインデックス。
rNewCellCaption = 新しいキャプション。
rOldCellCaption = 変更前のキャプション。
CaptionCell CaptionsUnit

Oioi
Event CellClick(ByVal rUnitIndex As Long, ByVal rCellIndex As Long, ByVal rCellCaption As String)
マウス左ボタンでユニットのセルをクリックした直後に発生します。
rUnitIndex = クリックしたセルを含むユニットのインデックス。[コード作成]
で作成したユニットの定数です。
rCellIndex = クリックしたセルのインデックス。
rCellCaption = クリックしたセルのキャプション。
ページチェンジボタン、編集可能なラベル、フレーム、パネル、ではこのイベントは発生しません。
RightBtnClick

Oioi
Event MouseDown(rwMsDragByUser As Boolean, Button As Integer, Shift As Integer, x As Single, y As Single, rCurUnit As Long, rCurCell As Long, rCurCellCap As String, rDownEventDone As Boolean)

Oioi
Event MouseMove(rwMsDragByUser As Boolean, Button As Integer, Shift As Integer, x As Single, y As Single, rCurUnit As Long, rCurCell As Long, rCurCellCap As String, rDownEventEnable As Boolean, rOldTipHlpStr As String, rNewTipHlpStr As String)

Oioi
Event MouseUp(rwMsDragByUser As Boolean, Button As Integer, Shift As Integer, x As Single, y As Single)
マウスの標準イベントを中継します。
rwMsDragByUser = オーナーがマウスドラッグをコードに使用する場合にこのフラッグを利用できます。
Button As Integer, Shift As Integer, x As
Single, y As Single = VB の標準イベントの引数です。
rCurUnit = イベントが発生すれば、ユニットインデックスが設定されます。
rCurCell = イベントが発生すれば、セルインデックスが設定されます。
rCurCellCap = イベントが発生すれば、セルキャプションが設定されます。
rDownEventDone = クリックしたセルは CellClick イベントを発生します。
rDownEventEnable = クリックしたセルは CellClick イベントを発生できます。
Twips 単位で設定されます。
OldTipHlpStr As String, rNewTipHlpStr As
String = ヒットしたセルのチップヘルプ文字列です。
チップヘルプを使用する場合には、MouseMove イベントで、
OldTipHlpStr <> rNewTipHlpStr の場合に rNewTipHlpStr を このコントロールの
ToolTipText に設定します。
Friend Sub Oioi1_MouseMove(rwMsDragByUser
As Boolean, Button As Integer, Shift As Integer,
x As Single, y As Single, rCurUnit As Long,
rCurCell As Long, rCurCellCap As String,
rDownEventEnable As Boolean, rOldTipHlpStr
As String, rNewTipHlpStr As String)
If rNewTipHlpStr <> ""
Then
If rOldTipHlpStr
<> rNewTipHlpStr Then Oioi1.ToolTipText
= rNewTipHlpStr
Else
Oioi1.ToolTipText
= ""
End If
End Sub
MouseDown MouseMove RightBtnClick CellClick

Oioi
Event OnFirstShow()
このコントロールが最初に表示される直前に、このイベントで変更の機会を提供します。
PageChangeBefore PageChangeAfter

Oioi
Event PageChangeAfter(ByVal rNewShowPage As Long, ByVal rOldShowPage As Long)
表示ページが変更され、ユニット群が描画された直後に発生します。
rNewShowPage = 新たに表示されたページのインデックス。
rOldShowPage = 非表示になったページのインデックス。
FormLoad の後最初に表示される時は、rOldShowPage
= 0 です。 ( 無効な値なので使用できません
)
複数ページが存在しない(一ページだけの)場合には、FormLoad
の後最初に表示される時に一度だけ発生します。
PageChangeBefore PageCurrent PageCount

Oioi
Event PageChangeBefore(ByVal rNewShowPage As Long, ByVal rOldShowPage As Long)
表示ページが変更された直後、ユニット群が描画される前に発生します。
必要であればこのイベントで他の VB コントロールの表示/非表示を管理できます。
rNewShowPage = 新たに表示されるページのインデックス。
rOldShowPage = 非表示になったページのインデックス。
PageChangeAfter PageCurrent PageCount

Oioi
Event Resize()
コントロール全体のサイズが変更された直後に発生します。
Refresh

Oioi
Event RightBtnClick(ByVal x As Single, ByVal y As Single, ByVal rUnitIndex As Long, ByVal rCellIndex As Long, ByVal rCellCaption As String, rDownEventEnable As Boolean)
このコントロールの上でマウス右クリックを実行した直後に発生します。
ポップメニューの表示などに使用できます。
rUnitIndex = クリックしたセルを含むユニットのインデックス。[コード作成]
で作成したユニットの定数です。
rCellIndex = クリックしたセルのインデックス。
rCellCaption = クリックしたセルのキャプション。
rDownEventEnable = マウス左クリックでイベントが発生するタイプであれば True
Twips 単位で設定されます。
CellClick MouseDown MouseMove MouseUp




Oioi
このコントロール専用の定数
Public Enum EnumOioiBorderType
Oioi_BorderNone = 0 '(既定値) 境界線はなし
Oioi_BorderSingleDown = 1 '周囲に 凹型の3Dの境界線
Oioi_BorderSingleUp = 2 '周囲に 凸型の3Dの境界線
Oioi_BorderTopDown = 3 '上端にだけ 凹型の3Dの境界線
Oioi_BorderTopUp = 4 '上端にだけ 凸型の3Dの境界線
Oioi_BorderBottomDown = 5 '下端にだけ 凹型の3Dの境界線
Oioi_BorderBottomUp = 6 '下端にだけ 凸型の3Dの境界線
Oioi_BorderTopBottomDown = 7 '上端と下端に 凹型の3Dの境界線
Oioi_BorderTopBottomUp = 8 '上端と下端に 凸型の3Dの境界線
End En
BorderType BorderWidth

Oioi
ポップアップメニュー
Menu ボタンをクリック、あるいは、デザインウインドウをマウス右クリックすると、表示できます。
ユニットの追加/削除、その他のデザイン操作を実行します。

デザインウインドウ Enabled ToolTipUse BorderType BorderWidth

Oioi
詳細説明
このコントロールには16のページを作成でき、各ページには、複数のユニットを作成できます。
各ユニットには最大250個までのセルを作成できます。
各セルは、既存のコントロールであるラベル、ボタン、フレーム等に対応するもので、それらと同様の機能を実現します。
このコントロールは一つのウインドウ内でマウスイベントを捉え、適切な描画により既存のコントロールを再現します。
したがって、ウインドウハンドルのリソース消費を気にすることなく、多量のユニットを作成できます。
また、表示/非表示を管理できる16のページをつくれ、各ページ内にユニット群を配置できるので、
タブコントロールと同様の機能を実現します。
しかし、各ユニットはグラフィカルコントロールなので、キー入力のサポートやフォーカスの設定はできません。
このコントロールは一つのウインドウ内に多数のユニットを作成するため、既存のデザインコンテナは使用できません。
ユニットの作成/デザインは、 デザインウインドウ で行います。
このコントロールはコンテナになれますので、他の既存のコントロールをこのコントロール内に配置できます。
各ページの表示/非表示に合わせて既存のコントロールの表示を管理できます。
一つのウインドウ内でのイベントで多数のユニットのイベントを処理するために、
処理コードのテンプレートが コード作成ウインドウ で自動作成されます。ユーザーはこのコードを使用してください。

Oioi
デザインウインドウ
コントロール内に、ユニットを作成し、さまざまなデザイン要素を設定します。
ユニットは、全てグラフィカルユーザーインターフェースで、
ラベル、ボタン、チェックボックス/ボタン、オプションボックス/ボタン、フレーム、パネル、のユニットを作れます。
一つのユニット内に、複数の子セルを作れます。
コントロール内には、複数のページを作成でき、それぞれのページにユニットを作成できます。
コントロール内には、VB コントロールも配置でき、それらが所属するページも設定できます。
フォーム左上隅の黄色いラベル
をクリックして、チップヘルプを表示できます。

ポップアップメニュー ページ操作パネル
アイコン設定パネル 配色設定パネル
フォント設定パネル コーディング位置参照パネル
VB コントロールのページ配置設定パネル
パネル型ユニット設定、拡大ルーペ コード作成ウインドウ

Oioi
ページ操作パネル
このコントロールでは、複数のページを作成し、切り替えて表示することができます。
このパネルで、ページの作成、削除、移動ができます。
ページ切り替えボタンが必要であれば、メニューの [
ページボタンを作成 ] を実行します。

デザインウインドウ VB コントロールのページ配置設定パネル PageCount PageCurrent PageChangeAfter PageChangeBefore

Oioi
アイコン設定パネル
各ユニットのそれぞれのセル毎に、アイコンを設定できます。
設定するセルを選択して、[ 設定 ] ボタンをクリック、
あるいは、アイコンを直接ドラッグして、設定するセルにドロップします。

デザインウインドウ 配色設定パネル フォント設定パネル IconChange

Oioi
配色設定パネル
各ユニット単位で、任意の配色を設定できます。
コントロール全体の、文字の色、背景の色、も設定できます。

サンプルラベルを、右クリックしてこのメニューを表示し、
サンプルラベルの色をこのコントロール全体の、背景色で設定できます。

デザインウインドウ フォント設定パネル アイコン設定パネル BackColor ForeColor UnitBackColor UnitForeColor

Oioi
フォント設定パネル
各ユニット単位で、任意のフォントを設定できます。
フォントを設定しなければ、標準のフォントに設定されている、
コントロール全体の既定のフォントが使用されます。

デザインウインドウ 配色設定パネル アイコン設定パネル Font UseParentFont

Oioi
コーディング位置参照パネル
このコントロールが発生するイベントコード内での、各ユニットの位置を表示します。
このパネルでは、参考のために表示されるだけで、
このテキスト内にいかなる記入をしても全て消失します。
本格的なコーディングには、コード作成ウインドウ で作成したコードを使用します。

デザインウインドウ コード作成ウインドウ CellClick

Oioi
VB コントロールのページ配置設定パネル
このコントロール内に配置した、VB コントロールが所属するページを設定します。
この設定をしなければ、VB コントロールは全てのページで表示されます。

デザインウインドウ ページ操作パネル PageCount PageCurrent PageChangeAfter PageChangeBefore

Oioi
パネル型ユニット設定、拡大ルーペ
パネル型ユニットの、特別なプロパティ設定用の、ポップウインドウと、
デザイン時の位置/サイズを、微調整するために使用するルーペです。

デザインウインドウ UnitType

Oioi
コード作成ウインドウ
このコントロールのユニット群の、イベント処理に必要な、テンプレートコードを作成します。
ユニット群で追加/削除をした場合には、定数宣言も、イベント処理コードも、無効になる部分があるので、再作成が必要になります。
フォーム左上隅の黄色いラベル
をクリックして、チップヘルプを表示できます。

このコントロールは、一つのウインドウ内でのイベントで、多数のユニットのイベントを処理するために、複雑なコーディングが必要になります。
そのため、デザイン時にこのウインドウで、テンプレートコードを作成します。
ページ名の定数宣言、ユニット名の定数宣言、CellClick
イベントの処理コードがデフォルトで作成されます。
複数のページを作成していれば、 PageChange
イベントの処理コードが追加されます。
ページインデックス/ユニットインデックス/セルインデックスは1
から始まります。
ページインデックス/ユニットインデックスは宣言定数を使用します。
ページ/ユニットを追加あるいは削除すると、これらの宣言定数が無効になるので再作成してください。
PageChange イベントはページ表示変更と同時に発生します。
ページ表示変更ボタンを作成していれば、ページ表示変更は自動的に実行されますが、
そうでない場合には、ユーザーが PageCurrent
プロパティを設定する必要があります。
▼▼ Visua Basic で使用する場合には ▼▼
VB のコントロールを、このコントロールの各ページの表示/非表示に合わせて、自動的に管理できます。
デザイン時に、VB のコントロールが表示されるページを指定します。
▲▲ Visua Basic で使用する場合には ▲▲
デザインウインドウ CellCaptionChange CellClick MouseDown MouseMove MouseUp OnFirstShow PageChangeAfter PageChangeBefore Resize RightBtnClick
