| フォームのクライアント領域のサイズを取得する方法(API関数GetClientRectの使用例) | |||||
| 動作環境 | Windows95/98 | 開発環境 | Visual Basic 6.0 (+SP3) | ||
| 説明 | API関数GetClientRectを使用して、フォームのクライアント領域のサイズを取得します。 | ||||
| 用意するもの:標準フォーム(Form1)、コマンドボタン(Command1) | |||||
| '変数の明示的な宣言を強制します。 Option Explicit 'API関数 GetClientRect の利用を宣言します。 Private Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long '第1引数:クライアント領域の座標を取得するウインドウのハンドル '第2引数:クライアント領域の座標を格納するRECT構造体 '戻り値 :成功すると"0"以外の値、失敗すると"0" 'クライアント領域の座標を格納するRECT構造体を定義します。 Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Private Sub Command1_Click() Dim ret As Long Dim MyRect As RECT 'クライアント領域を取得します。 ret = GetClientRect(Form1.hwnd, MyRect) 'クライアント領域の座標情報をデバッグウインドウに表示 Debug.Print "Left:" & MyRect.Left Debug.Print "Top:" & MyRect.Top Debug.Print "Right:" & MyRect.Right Debug.Print "Bottom:" & MyRect.Bottom '取得されたクライアント領域の情報に基づいて、クライアント領域をラインで囲みます。 Line (MyRect.Left, MyRect.Top)-(MyRect.Right - Form1.DrawWidth, MyRect.Bottom - Form1.DrawWidth), , B End Sub Private Sub Form_Load() 'フォームのスケールモードをピクセル単位に指定します。 Form1.ScaleMode = vbPixels End Sub |
|||||