我以前是在一个对话框上点右键添加一个OCX ,用对话框里响应OCX的事件。我想单独起一个进程来调用OCX ,但这样的话,怎么和对话框关联,又怎么来响应触发的事件呢?希望各位大侠不吝赐教。。

解决方案 »

  1.   

    动态创建OCX控件然后手工关联就是了。
    我不大清楚你单独起一个进程来调用OCX是什么意思
      

  2.   

    用VS类向导倒入OCX,自动生成一个类。
    定义这个类的一个对象m_myCEActiveX
    CRect rc(0,0,100,100);
    m_myCEActiveX.CreateControl(m_myCEActiveX.GetClsid(),L" ",WS_VISIBLE,rc,this,5678,NULL,FALSE,NULL);
    这样初始化。如果要调用这个OCX的方法的话直接用myCEActiveX.methodName(args);就可以了 。
      

  3.   

    至于你所说的OCX的是件响应,请看孙鑫老师的教程,里面讲的非常详细了。
      

  4.   

    这是一个键盘的控件,放进程里就是要它一直监视键盘,它有一个事件KEYPRESSED ,该怎么调用呢?或者说这个事件触发时,我怎么即时的检测到呢?
      

  5.   

    OCX里面可能提供了一些可以用CALLBACK 函数指针做参数的函数
    这样你就可以写一个函数,并把函数指针传给他
    并在函数里写处理,事件触发,该函数就会执行
      

  6.   

    我以前也做过类似的工作。
    我偷了个懒,就是在OCX里面写了一个响应事件的方法,然后暴露一个方法出来。
    然后再EXE中遇到相应的事件就调用OCX中相应的方法。
    也就是说程序里面捕获消息,然后交给OCX处理。
      

  7.   

    按你的说法,需要修改OCX 的代码了.