- 締切済み
OCX (ACTIVEX)で非表示にするとハンドルが取れない
MSVC++(MFC)を使用して、OCXモジュールを開発しています。 VBデザイン時に Visibleプロパティがtrueの場合でも 実行時には非表示になるようしたいと思っています。 非表示にするために、「コントロールの型情報の制御」のところで、 ******に OLEMISC_INVISIBLEATRUNTIME を追加すると、 実行時に非表示になり、要件は満たすのですが、 この場合、GetSafeHwnd()の返却値がNULLとなってしまい、 イベント発生時のPostMessage()が出来なくなってしまいます。 OCXを非表示にでき、PostMessage()が成功するようにするには どのようにしたら良いかをご存知でしたら教えてください。 なお、WINDOWS 95からXPまで全ての環境での動作を考えています。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- taka_tetsu
- ベストアンサー率65% (1020/1553)
回答No.2
- taka_tetsu
- ベストアンサー率65% (1020/1553)
回答No.1
補足
結局、以下の形で解決しました。 if ( !AmbientUserMode() ){ // OCXの表示 }else{ pdc->FillRect( rcBounds, &CBrush(TranslateColor( AmbientBackColor() )) ); }