wpf 中AxShockwaveFlash重写以及屏蔽鼠标右键
来源:互联网 发布:手绘地图制作软件 编辑:程序博客网 时间:2024/06/05 18:36
在wpf中需要用到flash播放swf或者图片,需要使用
AxShockwaveFlashObjects.dll和ShockwaveFlashObjects.dll
在项目中使用的时候遇到
问题1.使用WindowsFormsHost总是置顶的问题,到目前为止没有很好的解决
问题2.就是AxShockwaveFlash取消鼠标右键
屏蔽掉flash右键方法:
重写AxShockwaveFlash
public partial class MyShockwaveFlash : AxShockwaveFlash { public event MouseEventHandler MouseRightDown; public delegate void MouseEventHandler(object sender, System.Windows.Forms.MouseEventArgs e); private const int WM_LBUTTONDOWN = 0x0201; private const int WM_RBUTTONDOWN = 0x0204; protected override void WndProc(ref Message m) { switch (m.Msg) { case WM_RBUTTONDOWN: Int16 x = (Int16)m.LParam; Int16 y = (Int16)((int)m.LParam >> 16); MouseRightDown(this, new System.Windows.Forms.MouseEventArgs(System.Windows.Forms.MouseButtons.Right, 1, x, y, 0)); break; } if (m.Msg == WM_RBUTTONDOWN) { return; } base.WndProc(ref m); } }
然后使用方法如下:
private void MediaElementControl() { FlashPlayer = new MyShockwaveFlash(); wfhFlash.Child = FlashPlayer; FlashPlayer.Movie = AppDomain.CurrentDomain.BaseDirectory + "main.swf"; FlashPlayer.MouseRightDown += new MyShockwaveFlash.MouseEventHandler(FlashPlayer_MouseRightDown); } void FlashPlayer_MouseRightDown(object sender, System.Windows.Forms.MouseEventArgs e) { //这里您可以加入自己的处理或者其他您想处理的代码//System.Windows.MessageBox.Show("asfasdfasdf"); return; }
最后问题2 顺利得以解决,但是对于问题1目前还没有找到很好的解决方法,哪位朋友如果有解决方法或者思路欢迎讨论交流或者留言均可,谢谢。
0 0
- wpf 中AxShockwaveFlash重写以及屏蔽鼠标右键
- JavaScript在页面中屏蔽鼠标右键
- 一、ASP.NET中屏蔽鼠标右键
- 网页中如何屏蔽鼠标右键
- 如何屏蔽鼠标右键
- 屏蔽鼠标右键等
- 屏蔽鼠标左、右键
- FLEX屏蔽鼠标右键
- flex 屏蔽鼠标右键
- js 屏蔽 鼠标 右键
- 屏蔽鼠标右键
- 屏蔽鼠标右键代码
- JavaScript屏蔽鼠标右键
- JavaScript屏蔽鼠标右键
- Js 屏蔽鼠标右键
- js屏蔽鼠标右键
- .js屏蔽鼠标右键
- 屏蔽鼠标右键
- 数据结构——查找
- C++11 的一些有用的特性1 VS2012可支持
- 代码实现Android5.0的下拉刷新效果
- 数据流,封包取值操作类
- 顺序栈
- wpf 中AxShockwaveFlash重写以及屏蔽鼠标右键
- jquery 插件--如何通过鼠标拖动改变表格列的宽度
- Codeforces 2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest A题 (String模拟)
- PYQT5系统托盘双击显示隐藏主界面
- test
- JS 的Document属性和方法
- 2.9 穆尔彭罗斯伪逆
- 查反链以及分析的两个网站
- ubuntu下输入法的使用