79.矩形に3D効果を与える

< 使用用途 >
ゲームを作る時に使えるかな?

今回のサンプルソースをダウンロードする方は下記の「ダウンロード」を!
=> ダウンロード ・・・下記のサンプルと同じです。 


 < 説明 >
API関数の DrawEdge を使用します
DrawEdge =>矩形に3D効果を与える
  <引数>
     hDC:デバイスコンテキストのハンドルル
     qrc:RECT構造体
     edge:定数(EDGE_××参照)
     grfFlags:定数(BF_××参照)
  @戻り値@
     正常終了0以外       


< SAMPLE >
’ここでは矩形に3D効果を与える処理です。
'標準モジュール
Public Declare Function DrawEdge Lib "user32" (ByVal hDC As Long, qrc As RECT, ByVal edge As Long, ByVal grfFlags As Long) As Long

Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type


Public Const BF_BOTTOM = &H8
Public Const BF_LEFT = &H1
Public Const BF_RIGHT = &H4
Public Const BF_TOP = &H2
Public Const BF_RECT = (BF_LEFT Or BF_TOP Or BF_RIGHT Or BF_BOTTOM)

Public Const BDR_SUNKENINNER = &H8
Public Const BDR_SUNKENOUTER = &H2
Public Const BDR_SUNKEN = &HA
Public Const BDR_RAISED = &H5
Public Const BDR_OUTER = &H3
Public Const BDR_INNER = &HC
Public Const BDR_RAISEDINNER = &H4
Public Const BDR_RAISEDOUTER = &H1

Public Const EDGE_BUMP = (BDR_RAISEDOUTER Or BDR_SUNKENINNER)
Public Const EDGE_SUNKEN = (BDR_SUNKENOUTER Or BDR_SUNKENINNER)
Public Const EDGE_RAISED = (BDR_RAISEDOUTER Or BDR_RAISEDINNER) '



'ここからはフォーム内の処理です
Private Sub Command1_Click()
  Dim Ret As Long
  Dim nRECT As RECT

  '領域の設定
  nRECT.Left = 20
  nRECT.Top = 20
  nRECT.Right = 300
  nRECT.Bottom = 150

  Ret = DrawEdge(hDC, nRECT, EDGE_RAISED, BF_RECT)
End Sub





API 技術関連のページへ戻る

ホーム PV ランキング