OCXを貼り付けた親フォームのイベントを貼り付けたOCXで拾い、親フォームのイベントでOCXから親フォームを操作したいのですが・・・。こんなこと可能なんでしょうか?
編集 削除OCX等ActiveXや、ATL・STL構造のものでも、親フォームへは
参照しかできなかったと思います。
イベントを拾いたいのであれば、メッセージフックしかないと
思います。
親を参照することで、ウィンドウハンドルが解りますから、そ
のハンドルめがけて、メッセージフックし、イベントを拾う事
になると思いますが・・・
※ 昔作ったものを調べてみて、そのように書いていましたの
で・・・
他によい方法があれば、そのコーディングされた方、コメント
をよろしく!
以上。
VB6製OCXを、VB6のフォームに貼り付けて使用する、という前提であれば…。
Option Explicit
Private WithEvents ParentForm As VB.Form
Private Sub ParentForm_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
UserControl.Cls
UserControl.Print Format(Now(), "hh:nn:ss") & " - MouseMove(";
UserControl.Print Button; ","; Shift; ","; X; ","; Y; ")"
End Sub
Private Sub UserControl_Paint()
If Not UserControl.Ambient.UserMode Then
UserControl.Print UserControl.Ambient.DisplayName
End If
End Sub
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
If UserControl.Ambient.UserMode Then
Set ParentForm = UserControl.Extender.Parent
End If
End Sub
ご回答ありがとうございます。
大変参考になりました。