| ディスプレイのサイズが何インチかを調べる方法(API関数 GetDeviceCaps の使用例) | |||||
| 動作環境 | Windows95/98 | 開発環境 | Visual Basic 6.0 (+SP3) | ||
| 説明 | API関数 GetDeviceCaps と"三平方の定理"を利用してディスプレイのサイズを調べます。 | ||||
| 用意するもの:標準フォーム(Form1)、コマンドボタン(Command1) | |||||
| '変数の明示的な宣言を強制します。 Option Explicit 'API関数 GetDeviceCaps の使用を宣言します。 Private Declare Function GetDeviceCaps Lib "gdi32" _ (ByVal hdc As Long, _ ByVal nIndex As Long) As Long '第1引数:デバイスコンテキストのハンドルを指定します。 '第2引数:取得する情報の種類を指定する以下の定数を指定します。 Const HORZSIZE = 4 'スクリーンの幅(mm) Const VERTSIZE = 6 'スクリーンの高さ(mm) Private Sub Command1_Click() '変数を宣言する Dim DispW As Long 'ディスプレイの幅の情報 Dim DispH As Long 'ディスプレイの高さの情報 Dim DispC As Long 'ディスプレイの対角線の長さの情報 DispW = GetDeviceCaps(Form1.hdc, HORZSIZE) DispH = GetDeviceCaps(Form1.hdc, VERTSIZE) '三平方の定理を利用してディスプレイの対角線の長さ '(DispWを底辺、DispHを高さとした三角形の斜辺の長さ)を求めます。 '*************************************************** '三平方の定理:DispCの2乗=DispWの2乗+DispHの2乗 ' :DispC=(DispWの2乗+DispHの2乗)の平方根 '*************************************************** DispC = (DispW ^ 2 + DispH ^ 2) ^ (1 / 2) Print "画面の幅 :" & DispW & " ミリメートル" Print "画面の高さ:" & DispH & " ミリメートル" Print "画面の対角線の長さ:" & DispC & " ミリメートル" 'ディスプレイのサイズ:ディスプレイの対角線の長さの単位"をミリメートル"から"インチ"に変換 '1インチ = 25.4ミリメートル Print "画面のサイズ:" & Format((DispC / 25.4), "##.#") & "インチ" End Sub Private Sub Form_Load() Command1.Caption = "情報の取得" End Sub |
|||||