Tips Area

 紹介 No.2 拡張されたコマンドボタンコントロールその2


 僕が独自に機能拡張したコマンドボタンコントロール第2弾です。
 ソース自体は新たに書き直しています。

 今回は、標準のコマンドボタンコントロールが持っているほとんどの機能を盛り込みました。
 標準のコマンドボタンに対して拡張・修正された機能をあげてみます。

  • フォーカス枠の表示有無
  • 通常時、クリック時、無効時、選択時のピクチャを任意に指定
  • ピクチャ、キャプション文字列を任意に配置
  • オーナードロー機能のサポート
  • Styleプロパティの設定のみでチェックボックスやオプションボタンに

いろいろな設定を行った例をいくつかあげておきます。

Sample1
フラットスタイル
Sample1
通常スタイル(フォーカス有/無)
Sample1
キャプションの位置
Sample1
ピクチャ付きボタン
Sample1
オーナードロー



イベント

標準のコマンドボタンと同等のイベントの一覧

DragDrop
DragOver
GotFocus
KeyDown
KeyPress
KeyUp
LostFocus
MouseDown
MouseMove
MouseUp
OLECompleteDrag
OLEDragDrop
OLEDragOver
OLEGiveFeedback
OLESetData
OLEStartDrag
Paint
Validate


追加・修正されているイベントの一覧

Click
Click ( Button , Shift , X , Y )
ボタン上でクリックされたときに発生します。
MouseIn
MouseIn ( Button , Shift , X , Y )
ボタンにマウスカーソルが重なった時に発生します。
MouseOut
MouseOut ( Button , Shift , X , Y )
ボタンからマウスカーソルが外れた時に発生します。
OwnerDraw
OwnerDraw ( )
コントロールの再描画が必要になった時に呼び出されます。



プロパティ

標準のコマンドボタンと同等のプロパティの一覧

BackColor
Cancel
Caption
CausesValidation
Container
Default
DragIcon
DragMode
DrawMode
DrawStyle
DrawWidth
Enabled
FillColor
FillStyle
Font
ForeColor
hdc
Height
HelpContextID
hWnd
Index
Left
MaskColor
MouseIcon
MousePointer
Name
Object
OLEDropMode
Parent
Picture
Point
ScaleHeight
ScaleMode
ScaleWidth
TabIndex
TabStop
Tag
ToolTipText
Top
UseMaskColor
Visible
WhatsThisHelpID
Width


追加・修正されているプロパティの一覧

Appearance
wkButtonControl .Appearance { =Value }
3D表示/フラット表示の指定をします。
以下の値が使用可能です。

  • wbaFlat
    フラット形式で表示します。IEのツールバーなどと同じ表示になります。
  • wba3D
    3D形式で表示します。通常のコマンドボタンと同じ表示になります。
CaptionAlign
wkButtonControl .CaptionAlign { =Value }
キャプションの表示位置を指定します。
以下の値が使用可能です。

  • wbcTopLeft
    左上隅に配置します。
  • wbcTopCenter
    上端中央に配置します。
  • wbcTopRight
    右上隅に配置します。
  • wbcLeft
    左端中央に配置します。
  • wbcCenter
    中央に配置します。通常のコマンドボタンと同じ表示になります。
  • wbcRight
    右端中央に配置します。
  • wbcBottomLeft
    左下隅に配置します。
  • wbcBottomCenter
    下端中央に配置します。
  • wbcBottomRight
    右下隅に配置します。
DisablePicture
wkButtonControl .DisablePicture { = Value }
ボタンが無効時に表示するピクチャを指定します。
DownPicture
wkButtonControl .DownPicture { = Value }
ボタンが押されている時に表示するピクチャを指定します。
FocusRectMargin
wkButtonControl .FocusRectMargin { = Value }
フォーカスがあることを示す矩形の、コントロールの端からの距離を指定します。
OwnerDraw
wkButtonControl .OwnerDraw { = Value }
OwnerDrawイベントの発生/コントロールの再描画を行うかどうかを指定します。
以下の値が使用可能です。

  • True
    OwnerDrawイベントを発生させ、コントロールは自動で再描画を行いません。
  • False
    コントロールが自動的に再描画を行います。通常のコマンドボタンと同じ動作です。
PictureAlign
wkButtonControl .PictureAlign { = Value }
ピクチャの表示位置を指定します。
以下の値が使用可能です。

  • wbpTopLeft
    左上隅に配置します。
  • wbpTopCenter
    上端中央に配置します。
  • wbpTopRight
    右上隅に配置します。
  • wbpLeft
    左端中央に配置します。
  • wbpCenter
    中央に配置します。
  • wbpRight
    右端中央に配置します。
  • wbpBottomLeft
    左下隅に配置します。
  • wbpBottomCenter
    下端中央に配置します。
  • wbpBottomRight
    右下隅に配置します。
  • wbpCaptionTop
    キャプション文字列の上に配置します。
  • wbpCaptionLeft
    キャプション文字列の左に配置します。
  • wbpCaptionRight
    キャプション文字列の右に配置します。
  • wbpCaptionBottom
    キャプション文字列の下に配置します。通常のコマンドボタンと同じ動作です。
SelectPicture
wkButtonControl .SelectPicture { = Value }
ボタンが選択状態(マウスカーソルがボタンの上にある状態)の時に表示するピクチャを指定します。
ShowFocusRect
wkButtonControl .ShowFocusRect { = Value }
フォーカスがあることを示す矩形を表示するかどうかを指定します。
以下の値が使用可能です。

  • True
    矩形を表示します。
  • False
    矩形を表示しません。
Style
wkButtonControl .Style { = Value }
動作のスタイルを指定します。
以下の値が使用可能です。

  • wbbButton
    コマンドボタンスタイル
  • wbbCheck
    チェックボックススタイル
  • wbbOption
    オプションボタンスタイル
Value
wkButtonControl .Value { = Value }
ボタンのOn/Off状態を指定します。Styleでチェックボックスタイプ、オプションボタンタイプに指定されている場合のみ、有効です。
以下の値が使用可能です。

  • wbvOff
    オフの状態です。
  • wbvOn
    オンの状態です。



メソッド

標準のコマンドボタンと同等のメソッドの一覧

Drag
Move
SetFocus
ShowWhatsThis
TextHeight
TextWidth
ZOrder


追加・修正されているメソッドの一覧

About
wkButtonControl .About
wkButton2コントロールのバージョン情報を表示します。
Box
wkButtonControl .Box ( {Left} {, Top} {, Right} {, Bottom} {, Color} )
矩形を描画します。
Left矩形の左座標を指定します。省略可能です。
Top矩形の上座標を指定します。省略可能です。
Right矩形の右座標を指定します。省略可能です。
Bottom矩形の下座標を指定します。省略可能です。
Color描画する線の色を指定します。省略可能です。
BoxFill
wkButtonControl .BoxFill ( {Left} {, Top} {, Right} {, Bottom} {, Color} )
塗りつぶされた矩形を描画します。
Left矩形の左座標を指定します。省略可能です。
Top矩形の上座標を指定します。省略可能です。
Right矩形の右座標を指定します。省略可能です。
Bottom矩形の下座標を指定します。省略可能です。
Color描画する線の色を指定します。省略可能です。
Cls
wkButtonControl .Cls
描画結果をクリアします。
DrawDefaultBorder
wkButtonControl .DrawDefaultBorder ( {State} )
wkButton2コントロール標準の枠線描画ルーチンを呼び出します。
State枠線の種類を指定します。省略可能です。
  • wbsNormal
    通常状態の枠線
  • wbsPush
    ボタンが押されている状態の枠線
  • wbsSelect
    ボタンが選択状態の枠線
DrawDefaultCaption
wkButtonControl .DrawDefaultCaption ( {State} )
wkButton2コントロール標準のキャプション描画ルーチンを呼び出します。
Stateキャプションの種類を指定します。省略可能です。
  • wbsNormal
    通常状態の枠線
  • wbsPush
    ボタンが押されている状態の枠線
  • wbsSelect
    ボタンが選択状態の枠線
DrawDefaultPicture
wkButtonControl .DrawDefaultPicture ( {State} )
wkButton2コントロール標準のピクチャ描画ルーチンを呼び出します。
Stateピクチャの種類を指定します。省略可能です。
  • wbsNormal
    通常状態の枠線
  • wbsPush
    ボタンが押されている状態の枠線
  • wbsSelect
    ボタンが選択状態の枠線
LineEx
wkButtonControl .LineEx ( {X1} {, Y1} {, X2} {, Y2} {, Color} )
直線を描画します。
X1始点の左座標を指定します。省略可能です。
Y1始点の上座標を指定します。省略可能です。
X2終点の右座標を指定します。省略可能です。
Y2終点の下座標を指定します。省略可能です。
Color描画する線の色を指定します。省略可能です。
PaintPicture
wkButtonControl .PaintPicture ( oSrcPicture {, nDstPosX} {, nDstPosY} , {, nDstSizeWidth} {, nDstSizeHeight} {, nSrcPosX} {, nSrcPosY} {, nSrcSizeWidth} {, nSrcSizeHeight} {, nOpCode} )
ピクチャを描画します。
oSrcPicture描画するピクチャを指定します。
nDstPosX描画先の基準点座標(X座標)を指定します。省略可能です。
nDstPosY描画先の基準点座標(Y座標)を指定します。省略可能です。
nDstSizeWidth描画時の幅を指定します。省略可能です。
nDstSizeHeight描画時の高さを指定します。省略可能です。
nSrcPosX描画元の基準点座標(X座標)を指定します。省略可能です。
nSrcPosY描画元の基準点座標(Y座標)を指定します。省略可能です。
nSrcSizeWidth描画元の幅を指定します。省略可能です。
nSrcSizeHeight描画元の高さを指定します。省略可能です。
nOpCode描画時の転送パターンを指定します。省略可能です。
PSetEx
wkButtonControl .PSetEx ( {nPosX} {, nPosY} {, nColor} )
点を描画します。
nPosX描画する座標(X座標)を指定します。省略可能です。
nPosY描画する座標(Y座標)を指定します。省略可能です。
nColor描画する色を指定します。省略可能です。



 より詳しい内容等については、コントロールに付属のヘルプファイルを参照して下さい。

 今回の Tips で紹介したこのコントロールが下でダウンロードできます。
 サンプルにはコントロールは含まれていません。サンプルをダウンロードする場合はコントロールも一緒にダウンロードしてください。

 拡張されたコマンドボタンコントロールその2(VB5以降) (79.2KB)
   Download 
 このコントロールを使用したサンプル(VB5以降) (4.71KB)
   Download 

→ Tips  → Top  

Build & Management is Wajin Kisaragi
WK Project 1998-2001

Mail address is feb_tr@mail.goo.ne.jp