マウスポインタが離れたか調べる

<戻る

ここに載せてあるソースコードは、参考のために載せてあります

サンプルコードは、一番下にLZHとしてあります




Option Explicit

Private Const CLOSETEXT = "×"

'--------------------------------------
' Form1
'--------------------------------------
'フォームをロードしました
Private Sub Form_Load()
    Picture1.AutoRedraw = True
    drawMyButton Picture1, 0, 0, 0, Text1.Text
    
    DoEvents
    
    Picture2.AutoRedraw = True
    Picture2.FontBold = True
    drawMyButton Picture2, 0, 0, 0, CLOSETEXT
End Sub


'--------------------------------------
' Pictuer1
'--------------------------------------
'ピクチャボックスでマウスボタンを押しました
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    drawMyButton Picture1, Button, X, Y, Text1.Text
End Sub

'ピクチャボックスでマウスを移動しました
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    drawMyButton Picture1, Button, X, Y, Text1.Text
End Sub

'ピクチャボックスの描画イベントが発生しました
'(AutoRedraw=Falseのときのみイベントが発生します)
Private Sub Picture1_Paint()
    drawMyButton Picture1, 0, 0, 0, Text1.Text
End Sub



'--------------------------------------
' Pictuer2
'--------------------------------------
'ピクチャボックスでマウスボタンを押しました
Private Sub Picture2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    drawMyButton Picture2, Button, X, Y, CLOSETEXT
End Sub

'ピクチャボックスでマウスを移動しました
Private Sub Picture2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    drawMyButton Picture2, Button, X, Y, CLOSETEXT
End Sub

'ピクチャボックスの描画イベントが発生しました
'(AutoRedraw=Falseのときのみイベントが発生します)
Private Sub Picture2_Paint()
    drawMyButton Picture2, 0, 0, 0, CLOSETEXT
End Sub



'--------------------------------------
' Text1
'--------------------------------------
'リストボックスでマウスを移動しました
Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    
    'マウスがリストボックスに乗っているか調べ
    'それに応じてバックカラーを選択します
    If HoverCheck(Text1, X, Y) = True Then
        Text1.BackColor = RGB(230, 230, 255)
    Else
        Text1.BackColor = vbWindowBackground
    End If
End Sub



'--------------------------------------
' Function
'--------------------------------------
'指定したピクチャボックスにボタンを描画します
Sub drawMyButton(objPicture As PictureBox, ByVal Button As Integer, ByVal X As Single, ByVal Y As Single, ByVal strText As String)
    Dim lngWidth    As Single
    Dim lngHeight   As Single
    Dim lngColHigh  As Long
    Dim lngColLow   As Long
    Dim strMsg      As String
    Dim nTextDown   As Integer
    
    '3Dラインを描画するときの
    'ピクチャボックスの端の位置を代入します
    lngWidth = objPicture.ScaleWidth - Screen.TwipsPerPixelX
    lngHeight = objPicture.ScaleHeight - Screen.TwipsPerPixelY
    
    'マウスがピクチャボックスに乗っているか調べ
    'それに応じて色を選択します
    If HoverCheck(objPicture, X, Y) = True Then
        '左ボタンを押しているなら
        'それに応じて色を選択します
        If Button = vbLeftButton Then
            lngColHigh = vb3DDKShadow
            lngColLow = vb3DHighlight
            nTextDown = 1
        Else
            lngColHigh = vb3DHighlight
            lngColLow = vb3DDKShadow
        End If
    Else
        lngColHigh = vb3DFace
        lngColLow = vb3DFace
    End If
    
    '3Dラインを描画します
    objPicture.Cls
    objPicture.Line (0, 0)-(lngWidth, 0), lngColHigh
    objPicture.Line (0, 0)-(0, lngHeight), lngColHigh
    objPicture.Line (lngWidth, 0)-(lngWidth, lngHeight), lngColLow
    objPicture.Line (0, lngHeight)-(lngWidth, lngHeight), lngColLow
    'ボタン名を中央に描画します
    strMsg = strText
    objPicture.CurrentX = objPicture.ScaleWidth ¥ 2 - objPicture.TextWidth(strMsg) ¥ 2 + nTextDown
    objPicture.CurrentY = objPicture.ScaleHeight ¥ 2 - objPicture.TextHeight(strMsg) ¥ 2 + nTextDown
    objPicture.Print strMsg
    
End Sub



<戻る

Sample98.lzh


http://hp.vector.co.jp/authors/VA015521/