ネイティブ ウィンドウでの Windows フォーム コントロールのホスト、ウィンドウ クラス = “静的”

StackOverflow https://stackoverflow.com/questions/1835332

  •  11-09-2019
  •  | 
  •  

質問

Windows フォーム コントロールをネイティブ アプリケーション (Visual Studio) に提供する必要があります。
そこで、コントロールを作成し、そのハンドルを提供します。

次に、Spy++ を使用してネイティブ ウィンドウを確認すると、コントロールがウィンドウ クラス = "Static" およびタイトル "This is a static!" の追加の 'コントロール' でラップされていることがわかります。それにはいくつかの問題があります。

  1. ホスティング ウィンドウによってコントロールに送信されたサイズ変更イベントは、「静的」に再送信する必要があるため、そのサイズも変更されます (そうしないと、コントロールが静的サイズ内に部分的に隠れてしまいます)。
  2. 静電気はありません WS_EX_CONTROLPARENT, 、 その原因 KB149501 と表示されます (つまり、アプリケーション全体がフォーカスを失った状態でハングします)。
  3. 申請したら WS_EX_CONTROLPARENT, 、静的内のリストボックスは再描画を停止します。

何か間違ったことをしたと思いますが、何が間違っているのかわかりません。static は C# キーワードでもあるため、WinForms の結果に頻繁に表示されるため、Google は役に立ちません。

役に立ちましたか?

解決

私は主に真のDoubleBuffered =を使用して再描画の問題を解決したので、おそらくこれはそれです。
私はまだ私が何か間違ったことをやっていると思うが、少なくとも、それが機能するようになりました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top