使用realplay控件时,如何不出现autoupdate窗口?如何屏蔽掉控件自带的菜单,而使用自定义的菜单?(200分)

  • 主题发起人 主题发起人 荆棘鸟
  • 开始时间 开始时间

荆棘鸟

Unregistered / Unconfirmed
GUEST, unregistred user!
谁能救救我??
 
都是鸟,支持你,可惜帮不了你。UP先
 
还没有人回答?
我用setenablecontextmenu(false)和seterrormessgae(false)好象也没有什么用。
 
现在菜单的屏蔽好象可以了,
就是autoupdate去不了
 
是不是要在缓冲完毕后检测解码器是否已有,如果没有就停止播放?
 


屏蔽控件的右键菜单
方法1:拦截系统消息
在form上添加一个Application Events控件,然后在其OnMessage事件中输入一下代码:

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin

if Msg.message = WM_RBUTTONDOWN then

begin

//如果去掉下面这行就是屏蔽右键菜单,现在为自定义右键菜单
popupmenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
Handled := True;
end;

end;


方法2:拦截控件的右键消息,代码如下:
type
TMyReal = class(TRealAudio)
public
procedure TWMRBUTTONDOWN(var msg:TMsg);
message WM_RBUTTONDOWN;
end;


procedure TMyReal.TWMRBUTTONDOWN(var msg:TMsg);

var
P:Tpoint;
begin

if popupmenu<>nil then
//加入自己的事件
begin

GetCursorPos(p);
//获得当前鼠标位置
popupmenu.Popup(p.x,p.y);
//弹出菜单
end;

end;


好象也不好使
 
后退
顶部