none
ActiveX控件怎么和宿主程序之间通讯 RRS feed

  • 问题

  • 比如现在我有一个这样的需求。有一个宿主程序,为一个单文档程序,如下图:

             在上图中,右边的编辑栏是一个停靠栏,该停靠栏上放一个外部的ActiveX控件。这个ActiveX控件上有两个控件:一个编辑框和一个OK按钮,就如同上图一样。现在我要实现这样一个功能:我一单击OK按钮,就把编辑框的字符串传给视图类,让视图类对象把这个字符串打印在视图客户区。

         那么请问我该如何设计ActiveX控件的接口,能够让单文档程序及时知道OK按钮的单击消息,同时将编辑框的字符串传出来?

     

     

     


    前无古人,后无来者
    2010年5月26日 16:22

全部回复

  •      我现在想到的一个办法是在ActiveX控件的按钮单击消息处理函数里给宿主程序发送自定义消息来通知宿主程序的窗口(即停靠栏,它也是ActiveX控件的父窗口)。然后停靠栏处理这个自定义消息:找到视图,将字符串传给视图。我想这个应该可行,不过不知有没有更好的办法。
    前无古人,后无来者
    2010年5月26日 16:59
  • 你应该使用COM事件来和容器通讯。MFC/ATL的类向导都支持事件。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2010年5月26日 19:54
    版主