私は、他のウィンドウ(ビューポート)の上にフォームを描画して、より多くの情報を表示するプロジェクトに取り組んでいます。私が描いているプログラムはAutodesk3dsmaxです。ハンドルを取得するために3dsmaxにロードするC#でカスタムUserControlを作成しています。ウィンドウハンドルを取得して位置/サイズを設定することで、ウィンドウ上にフォームを描画することができます。問題は、これらのウィンドウのサイズが変更/非表示になったときに、UserControlがそれを認識していないため、フォームのサイズが変更されないことです。
Maxには、ビューポートを変更するためのコールバック関数がありますが、ビューポート内でカーソルを移動するなど、ほとんどすべてに対して起動します。ビューポートでマウスを動かすたびにサイズの変更などを確認したくないのは、おそらくかなり遅いからです…</ p>
サイズ変更部分のウィンドウメッセージについて考えていましたが、Spy ++で表示しようとすると、メッセージが表示されません。Spy ++で、表示されているウィンドウのスタイルが「WS_VISIBLE」であることがわかりました。そのスタイルが変わったときに、ある種のコールバック/イベントを発生させることも考えていました…しかし、そのようなものを実装する方法がわかりません。これも可能ですか?
Spy++ウィンドウのプロパティの写真をいくつか含めました。
ありがとう