- PR -

VB6でフォームのマウスムーブイベントが取れません。。。

1
投稿者投稿内容
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2004-06-10 13:52
 お世話になります。Win2000Pro+VB6SP5を使っております。
Exe内にはPictureコントロール(名前:picPrtSc)を一つ持つフォームが一つだけあります。
しかしこのEXEを実行してマウスを動かしてもメッセージボックス

"マウスムーブ時のイベントテスト"

が表示されません。(※)をコメントにするとメッセージボックスが表示されるので
SetPrtScr()
の中でマウスムーブイベントがとれない原因があると思うのですが、何が原因なのでしょうか。
是非ともご教授よろしくお願いします。


'APIの宣言
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
'=========================================
' フォームロード
'=========================================
Private Sub Form_Load()
'フォームのキーイベントを有効
Me.KeyPreview = True
'Window枠なし
Me.BorderStyle = 0
'最大化
Me.WindowState = 2
'ピクチャ枠なし
Me.picPrtSc.BorderStyle = 0
'スクリーンコピーのセット
SetPrtScr ・・・・・・・・・・・・・・・・・(※)
End Sub
'=========================================
' スクリーンコピーをフル画面のピクチャにセット
'=========================================
Private Sub SetPrtScr()
picPrtSc.AutoRedraw = True
picPrtSc.Move 0, 0, _
Screen.Width, _
Screen.Height

BitBlt picPrtSc.hDC, 0, 0, _
Screen.Width ¥ Screen.TwipsPerPixelX, _
Screen.Height ¥ Screen.TwipsPerPixelY, _
GetDC(0), 0, 0, vbSrcCopy
picPrtSc.Refresh
End Sub
'=========================================
' マウスムーブ時
'=========================================
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
MsgBox "マウスムーブ時のイベントテスト"
End Sub


[ メッセージ編集済み 編集者: okumura 編集日時 2004-06-10 13:54 ]
1

スキルアップ/キャリアアップ(JOB@IT)