shockwave flash控件本身有一个SetMenu(bool...)的函数,但是只能隐藏如快进,品质等右键菜单的目录,不能隐藏”设置“和”关于……“目录,请问一下如何把它的右键菜单隐藏并能加入自己定制的右键菜单呢?多谢大家了。另外,用MFC写的应用程序运行时按下Esc都会退出程序,有达人知道如何消除这种情况么?再谢PS:我是菜鸟,第二次发帖(第一次发到非技术类去了,没人回复,等了两天终于有人光顾,告诉我发错地方了,哎,问题没解决就只好结帖给分了)。自学MFC不到一个月,自己也不是学计算机和软件的,只是这方面感兴趣,但是很多问题都不懂,虽然分数不多,但能者不难嘛,希望大侠们本着对求学心切后辈的关怀,还望高手不吝指教啊,多谢了

解决方案 »

  1.   

    把flash禁用掉,然后自己判断鼠标点击位置弹出菜单即可.
      

  2.   

    子类化CShockwaveFlash 如CMyFlash,然后重载virtual BOOL PreTranslateMessage(MSG *pMsg);
    BOOL CMyFlash::PreTranslateMessage(MSG *pMsg)
    {
    if(pMsg->message == WM_RBUTTONDOWN)
    {
              ..............//这里弹出你自己的定制菜单
              return TRUE;
    }
    return CShockwaveFlash::PreTranslateMessage(pMsg);
    }
      

  3.   

    回复:hailongxl(吹雪)
    禁用flash可以消除右键菜单,也能加入自己的菜单,可是有一个问题就是载入flash动画后无法点击flash动画中本身的“Play”,只能点击自己的播放按钮,这有点不太方便,不知有什么方法可以改进这个问题。谢谢!
      

  4.   

    回复:seu07201213(【东南】〖少帅〗) 
    你的意思是自己先建一个Myflash的类然后让Cshockwave flash类继承Myflash吗?但是Cshockwave flash这个对象本身没有PreTranslateMessage(MSG *pMsg)消息呀。不好意思,我很菜的,能不能说具体一点,谢谢了
      

  5.   

    seu07201213(【东南】〖少帅〗)的意思是捕获Cshockwave flash发出的消息进行处理
    虽然Cshockwave flash这个对象本身没有PreTranslateMessage(MSG *pMsg)消息,但,他是深层次的继承,都是在CCmdTarget上继承的,所以,都有这个虚函数你现在重载(覆盖)这个函数就可以了