关于 BCB 中安装了 ActiveX 中的 Flash 控件显示右键的一个问题,有研究的请进,谢了。
我在 BCB 中安装了 ActiveX 中的 Flash 控件,但在 Flash 上终始显示 Flash 的相关右键菜单,即使在 Flash 控件中取消勾选了“显示菜单”,但编译程序后,在 Flash 控件上击鼠标右键还有是 Flash 本身的菜单显示,如何彻底做到不显示 Flash 自身的菜单而显示自己设置的右键菜单?谢谢大侠指点。
[解决办法]
在程序中改呢?
[解决办法]
群里来的,不知道,只能帮顶。
[解决办法]
以前做过一个,好像要修改文件,不然菜单屏蔽不掉。
[解决办法]
子类化Flash控件窗口,接管鼠标右键按下的消息就可以了。
.h文件中:
private:// User declarations
void __fastcall NewProc(TMessage &Msg);
.cpp文件中:
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
ShockwaveFlash1-> WindowProc = NewProc;
}
//---------------------------------------
void __fastcall TForm1::NewProc(TMessage &Msg)
{
if(Msg.Msg == WM_RBUTTONDOWN || Msg.Msg == WM_RBUTTONDBLCLK)
{
POINT p;
GetCursorPos(&p);
// 弹出自己的右键菜单
PopupMenu1-> Popup(p.x, p.y);
}
else
ShockwaveFlash1-> Dispatch(&Msg);
}