フォームの可視性を調整せずに、フォームの境界全体を最も透明にすることは可能ですか?
WindowFromPoint
マウスの下のコントロールを見つけるために、user32api呼び出しを使用しています。状況によっては、メインフォーム(または別の子フォーム)の前に浮かぶ子フォームの存在を無視したいのですが、このフォームは無視して表示されたままにしておきます。
フォームの不透明度を0に設定すると、ヒットテストは正常に通過しますが、フォームは明らかに非表示であり、表示されたままにしておくことをお勧めします。
この子フォームには任意の数のコントロールをWM_NCHITTEST
含めることができるため、このフォームがフォーム上の子コントロールに送信されるすべてのメッセージをインターセプトして、各コントロールの最もヒットした透明度を返す方法はありますか?フォームに含まれるコントロールは任意であるため、内部で変更することはできません。