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

このコントロールでは、OLE ドラッグドロップ操作はできません。


Oioi プロパティ
BackColor BorderType BorderWidth CaptionCell
CaptionMargin CaptionsUnit CellBottom CellCount
CellIndex CellLeft CellRight CellTop
CheckCellCapVal CheckCellVal Enabled EnabledCell
EnabledsUnit Font ForeColor hdc
hwnd MousePointer OptionSelCell OptionSelCellCap
PageCount PageCurrent Picture ScaleHeight
ScaleMode ScaleWidth TipEditBackColor TipEditEnabled
TipEditForeColor ToolTipStr ToolTipUse UnitBackColor
UnitBottom UnitColorUseParent UnitCount UnitForeColor
UnitHeight UnitLeft UnitRight UnitTop
UnitType UnitWidth VisibleCell VisiblesUnit
VBの標準プロパティ
Container DragIcon DragMode Height HelpContextID Index Left Name Object Parent TabIndex TabStop Tag ToolTipText Top Visible WhatsThisHelpID Width

Oioi メソッド
CaptionPostOffSet CheckSelCellArray FrameExAddDel IconChange
Redraw ReDrawFlatBtn Refresh TextHeight
TextWidth UnitCellCountXY UnitCellSize UnitMove
UnitsMove1Line UnitsOffSet UnitsTypeChange UnitWidthSquare
UseParentFont
VBの標準メソッド
Drag Move SetFocus ShowWhatsThis

Oioi イベント
CellCaptionChange CellClick MouseDown MouseMove
MouseUp OnFirstShow PageChangeAfter PageChangeBefore
Resize RightBtnClick
VBの標準イベント
DragDrop DragOver GotFocus LostFocus

このコントロール専用の定数 ポップアップメニュー
詳細説明 デザインウインドウ
ページ操作パネル アイコン設定パネル
配色設定パネル フォント設定パネル
コーディング位置参照パネル VB コントロールのページ配置設定パネル
パネル型ユニット設定、拡大ルーペ コード作成ウインドウ
AC2020VB5PublicFunc.html



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