これは、ここで回答した質問の後続の質問です: How to detect a mouse_down on a Userform Frame while the mouse is still down
その質問に対する回答のコードを使用すると、フォーム上の任意のフレームで MouseDown、MouseUp、および MouseMove を正常に検出できます。ただし、cls で使用できる Frame_Enter または Frame_Exit イベントはないようです。クラス モジュールで Frame_Enter イベントをシミュレートする方法はありますか?
編集:これが私がやろうとしていることです。大きなフレームに結合すると、より大きな画像を構成する 8 つの画像がロードされた 8 つのフレームがあります。長方形のピースが 8 つあるジグソーを考えてみてください。通常、8 つのフレームすべてに「淡色表示」(ニュートラル フィルター オーバーレイ) バージョンの画像が保持されますが、マウスがそれらのいずれかに入ると、新しく入力されたフレームに画像の「非淡色表示」バージョンが読み込まれ、淡色表示されたちょうど終了したフレームの画像のバージョン。したがって、マウスがこれらのフレームのいずれかの上にある場合、マウスは常に暗い画像に囲まれた明るい画像の上を移動しています.
マウスが淡色表示されていないフレームの周りを移動すると、無制限の数の「ホットスポット」トリガーがロールオーバーされ、マウスが現在ホバリングしているものに関する詳細情報を含むテキスト ボックスがポップアップ表示されます。そのフレームを離れて別のフレームに移動すると、プロセスが繰り返されます。
マウスがフレーム境界を越えて次のフレームに移動するタイミングを検出することを除いて、すべてが機能しています。これは、MouseMove イベントを処理する前に検出する必要があります。
他に何も提案されていない場合、有望に見える方法を次に示し ます。
Edit2:まだ有望に見えますが、機能させることはできません。コントロールをクリックするまで、入力イベントと終了イベントを発行していないようです。これは私にとっては役に立ちません。
では、クリス、あなたの話に戻りましょう。Frame_MouseMove イベントを見て、前回とは異なる Frame がイベントを発行するのを待っています。補助的な textBox を使用して変更を通知する代わりに、静的変数を使用して currentFrame/prevFrame を追跡できないかどうか疑問に思っています。