VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2007/01/25(Thu) 22:40
投稿者sakusaku
Eメール
URL
タイトル画面上のある点の色の取得

はじめまして。よろしくお願いします。

画面上のマウスの位置の色を取得したいと思い
いろいろ試しているのですがなかなかうまくいきません

Option Explicit
'位置座標を受け取る構造体
Private Type POINTAPI
        x As Long
        y As Long
End Type
'現在のマウスカーソルの位置座標を取得する
Private Declare Function GetCursorPos Lib "user32" _
    (lpPoint As POINTAPI) As Long
Private MoP As POINTAPI             '現在のマウスポインタの位置座標

Private Declare Function GetPixel Lib "gdi32.dll" _
        (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
        
        
Private Sub Form_Load()
    Timer3.Interval = 500 'ミリ秒で指定
End Sub

Private Sub Timer3_Timer()
Dim MyColor
    GetCursorPos MoP
    Labelx.Caption = MoP.x
    Labely.Caption = MoP.y
    MyColor = GetPixel(hdc, MoP.x, MoP.y)
    Label4.Caption = MyColor
End Sub

わからない事としましては
hdcに何を入れてやればいいのか?
変数MyColorの型は何にすればいいのか?

現在、このコードを実行すると−1が帰ってきますが
これは何を意味しているのでしょうか?
(たぶんhdcが設定されていないためにきちんとした
値が取れていないって意味だとは思うのですが)

ちなみにhdcをMe.hdcにするとフォーム内で2種類の
値が帰ってきます

よろしくお願いします


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -