TWinControl
親ウィンドウが表示されているかどうかを確認しようとしています。
TWinControl
のプロパティがありますParentWindow
。の戻りタイプはParentWindow
ですvoid *
。したがって、特定のタイプにキャストする必要があるかどうかが気になります。これにより、ウィンドウが表示されているかどうかを確認するためのアクセス権が与えられます。
誰かが私がキャストする必要があるタイプ、またはこれを達成するための別の方法を知っていますか?
追加のトラブルシューティングノート、パート1:
次の方法でParentWindowsクラスを取得しようとしました。
String parentWindowClassName = ((TObject *)(Control->ParentWindow))->ClassName();
しかし、これはアクセス違反を引き起こしました。また、TFormにキャストしようとしましたが、これもアクセス違反を引き起こし、親ウィンドウがウィンドウによって制御されている可能性があると思われます。もしそうなら、誰かがそれが表示されているかどうかを確認するためのトリックを知っていますか?たとえば、COMのトリックなどはありますか?
追加のトラブルシューティングノート、パート2:
この質問への答えは、私の他の質問を解決するのに役立つかもしれません:C ++Builder2009-無効または非表示のウィンドウに焦点を合わせることができません
ただし、他の質問はこのアプローチなしで解決できる可能性があるため、別の質問を投稿しました。
追加のトラブルシューティングノート、パート3:
ケンの追加情報をありがとう。コードアシストから情報を取得しました:
ただし、HWNDのリターンタイプは次の場所から確認できます:http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/Controls_TWinControl_ParentWindow.html
それは私が必要とする追加情報かもしれません...私がそれを機能させるならば、解決策を投稿します。どうも。