【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集

NT4WS+VB6+SP5にて開発しております。
Form_Resizeイベント以外でフォームサイズの変化を知りたいと思っております。
実際Form_MouseUpを使えばわかるだろうと思い試してみたのですが、
Form_MouseUpイベント自体を発生させることが出来ずに断念しました(^^;

ご存知の方よろしくお願いしますm(_ _)m

A 回答 (2件)

サブクラス化してメッセージをフックすれば出来ます。


http://www.vbvbvb.com/jp/gtips/
の824~840を参照
しかし、Form_Resizeイベントが何故駄目なのでしょうか?

この回答への補足

回答ありがとうございます。
なぜForm_Resizeではだめなのかと言いますと、
Windowsの「ウィンドウ内容を表示したままドラッグする」の設定を
有効にしていると、サイズ変更するたびにForm_Resizeが走ってしまうので
それを避けたかったのです。

補足日時:2002/06/27 09:10
    • good
    • 0

form_resizeでタイマを立てて、マウスボタンが放された時に


イベント処理を実行すればいいと思います。


Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

Const VK_LBUTTON = &H1 'マウス左ボタン
Const VK_RBUTTON = &H2 'マウス右ボタン


Private Sub Form_Resize()
Timer1.Interval = 100 'タイマを有効
End Sub

Private Sub Timer1_Timer()

'マウスのボタンが押されているなら処理を実行しない
If (GetKeyState(VK_LBUTTON) And &H8000) Then Exit Sub
'If (GetKeyState(VK_RBUTTON) And &H8000) Then Exit Sub
Timer1.Interval = 0 'タイマを無効
'ここにForm_Resizeのイベント処理
Beep
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報