这个方法主要用到继承和重写等面向对象的核心内容。
首先声明一个类,让它去继承AxShockwaveFlashObjects.AxShockwaveFlash,该类是实例化Flash控件生成的类。该类中包含各种Flash的事件和属性,在这里我们只对右键菜单的事件感兴趣,因此我们去重写该事件。
类的代码如下:
public class FlashRightKey : AxShockwaveFlashObjects.AxShockwaveFlash
{
//定义一个公共类FlashRightKey(类名自己定义)来继承AxShockwaveFlashObjects.AxShockwaveFlash(在实例化Shockwave Flash Object控件后生成)类
protected override void WndProc(ref Message m) //重载WndProc方法(此方法即消息处理机制)
{
if (m.Msg == 0X0204) //0×0204即鼠标右键的16进制编码
return; //返回并不输出
else
base.WndProc(ref m); //如果不是右键的话则返回正常的信息
}
}
类写好了,我们要在Flash控件里面使用它,必须在实例化Flash控件的时候用如下代码(写在Flash.Designer.cs文件相应的地方):
private FlashRightKey MyFlash2;
this.MyFlash2 = new Namespace.FlashRightKey();