110,534
社区成员
发帖
与我相关
我的任务
分享
好像直接把contextMenuStrip 绑定给flash的ContextMenuStrip属性显示不出来
我是这样绑定的:
//前提是重写了axShockwaveFlash控件
flash.OnClick += new EventHandler<MouseEventArgs>(flash_OnClick);
void flash_OnClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
context_MenuStrip.Show(flash, e.X,e.Y);
}
}
axShockwaveFlash1 能够绑定自己的右键菜单....也可以屏蔽掉自带的右键菜单
就是需要重新axShockwaveFlash...... axShockwaveFlash控件好像是没有鼠标事件的
也是重写这个:protected override void WndProc(ref Message m)
捕获他的右键单击事件.......
const int WM_RBUTTONDOWN = 0x0204; //右键单击
const int WM_NCLBUTTONDBLCLK = 0x203; //左键双击
const int WM_LBUTTONDOWN = 0x0201; //左键单击
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case WM_NCLBUTTONDBLCLK:
if (OnDoubleClick != null)
{
OnDoubleClick(this, new EventArgs());
}
break;
case WM_RBUTTONDOWN:
if (OnClick != null)
{
OnClick(this, new MouseEventArgs(MouseButtons.Right, 1, this.PointToClient(AxShockwaveFlash.MousePosition).X, this.PointToClient(AxShockwaveFlash.MousePosition).Y, 0));
}
m.Result = IntPtr.Zero;
break;
//case WM_LBUTTONDOWN:
// if (OnClick != null)
// {
// OnClick(this, new MouseEventArgs(MouseButtons.Left, 1, 0, 0, 0));
// }
// break;
default:
base.WndProc(ref m);
break;
}
}
//重新Form的
//protected override void WndProc(ref Message m)
//方法
//能够捕获的到你当前是否点击了窗体最大化按钮......
//axShockwaveFlash1 好像没有全屏的功能....只能利用Form最大化,并隐藏状态栏和一些其他的控件
//this.FormBorderStyle = FormBorderStyle.None;
???我这里axShockwaveFlash1,自带菜单里面怎么没最大化...
你是说点击窗口最大化按钮然后flash最大化吗?
public event EventHandler<EventArgs> OnMaximizedForm;
public event EventHandler<EventArgs> OnMinimizedForm;
const int WM_SYSCOMMAND = 0x112;
const int SC_CLOSE = 0xF060; //关闭
const int SC_MINIMIZE = 0xF020; //最小化
const int SC_MAXIMIZE = 0xF030; //最大化
const int SC_NORMMIZE = 0xF120; //还原
//重新
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_SYSCOMMAND)
{
switch (m.WParam.ToInt32())
{
case SC_MINIMIZE : //最小化
//绑定事件
if (OnMinimizedForm != null)
{
OnMinimizedForm(this, new EventArgs());
}
break;
case SC_MAXIMIZE: //最大化
//绑定事件
if (OnMaximizedForm != null)
{
OnMaximizedForm(this, new EventArgs());
}
break;
case SC_NORMMIZE:
break;
case SC_DOUBMIZE:
break;
}
}
base.WndProc(ref m);
}