之前有一个activex播放控件,但是没有自动更新的功能,领导说重新在外层包一个activex。我现在已经重新包了一层。但是获取不到里层的activex事件。
内层的activex有一个函数是这样的:
void CCC::FireBufferStart(CHAR* pFileName)
{
__raise onBufferStart(var);
}
以前在javascript中用:
<script language="JavaScript" for="GMPlayer" event="onBufferStart(currTime)">
  //TODO 播放列表时间调整
  alert( "OnPlayTick");
   
</script>
可以获取。但是现在又包了外层的activex,javasript就无法获取了。请高手帮忙,分数不够再加

解决方案 »

  1.   

    container activex 处理 player activex 的事件,然后在转发出去给 js
    你现在是 container 没有把事件转发出去,js所以收不到了
      

  2.   

    我现在就是不知道container activex怎么获取player activex事件的?请帮忙谢谢
      

  3.   

    帮帮忙,谢谢了,任务很急,卡到这里了,很难受!为什么js能接收,而container接收不了呢?
      

  4.   

    container 实现接受event了吗?atl project 
    BEGIN_SINK_MAP(CMainDlg)
            SINK_ENTRY(IDC_CTL1, 1, ClickInctl1)
            SINK_ENTRY(IDC_CTL1, 2, ClickOutctl1)
        END_SINK_MAP()mfc project
    BEGIN_EVENTSINK_MAP(CmfcDlg, CDialog)
        ON_EVENT(CmfcDlg, IDC_CTL1, 1, CmfcDlg::ClickInctl1, VTS_I4 VTS_I4)
    END_EVENTSINK_MAP()关键代码都在这里了
      

  5.   

    atl project  
    BEGIN_SINK_MAP(CMainDlg)
      SINK_ENTRY(IDC_CTL1, 1, ClickInctl1)
      SINK_ENTRY(IDC_CTL1, 2, ClickOutctl1)
      END_SINK_MAP()
    好好看看这里的代码,注意参数