ホーム > カテゴリ > Visual Basic >

矩形に3D効果を与える

矩形に3D効果を与えるサンプルです。

サンプルの実行画面

APIの宣言

[DrawEdge .bas]

'DrawEdge =>矩形に3D効果を与える

'<引数>
'hDC:       デバイスコンテキストのハンドルル
'qrc:       RECT構造体
'edge:     定数(EDGE_××参照)
'grfFlags: 定数(BF_××参照)

'@戻り値@
'正常終了0以外



Public Declare Function DrawEdge Lib "user32" (ByVal hDC As Long, qrc As RECT, ByVal edge As Long, ByVal grfFlags As Long) As Long

Public Type RECT
  Left As Long   '左上隅のX座標
  Top As Long    '左上隅のY座標
  Right As Long  '右下隅のX座標
  Bottom As Long '右下隅のY座標
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) '凸表示

APIの呼び出し

[DrawEdge .frm]

Dim Flag As Boolean  'マウスが押されたのか判別するフラグ
Dim nRECT As RECT    'Rect構造体

Private Sub Form_Load()

Form1.ScaleMode = 3

End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

nRECT.Left = X
nRECT.Top = Y

Flag = True

End Sub


Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Flag = True Then

nRECT.Right = X
nRECT.Bottom = Y

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

Flag = False

'強制的に更新する
Refresh

End If

End Sub

ソースコード一式のダウンロード

vbapi_drawedge.zip 2.08 KB (2,130 バイト)

このサンプルの動作環境について

このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。





関連記事



公開日:2015年03月04日
記事NO:00348


この記事を書いた人

💻 ITスキル・経験
サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。

画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ
プチモンテ代表、アーティスト名:プチモンテ
🎵 音楽制作
BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は叙情詩、叙情的な楽曲が多い。楽曲制作は2023年12月中旬 ~

オリジナル曲を始めました✨

YouTubeで各楽曲を公開しています🌈
https://www.youtube.com/@petitmonte

【男性ボーカル】DA・KA・RA | 新たな明日が風と共に訪れる

【男性、女性ボーカル】時空を超越する先に | 時空と風の交響曲

【女性、男性ボーカル】絆 | 穏やかな心に奏でる旋律