全部165分,菜鸟刚学会调用ms Agent这个控件,但我不知道怎么实现在小精灵上点击右键出现右键菜单,比如我点击'显示窗体1'这个菜单,实现from1.sho

  • 主题发起人 xiaoxiami1
  • 开始时间
X

xiaoxiami1

Unregistered / Unconfirmed
GUEST, unregistred user!
全部165分,菜鸟刚学会调用ms Agent这个控件,但我不知道怎么实现在小精灵上点击右键出现右键菜单,比如我点击'显示窗体1'这个菜单,实现from1.show;比如我点击'显示窗体2'这个菜单,实现from2.show;的功能?(165分)<br />全部165分,菜鸟刚学会调用ms Agent这个控件,但我不知道怎么实现在小精灵上点击右键出现右键菜单,比如我点击'显示窗体1'这个菜单,实现from1.show;比如我点击'显示窗体2'这个菜单,实现from2.show;的功能?
 
它有一个com组件的吧,<<delphi COM深入编程>>里有介绍,可以看看。
 
<<delphi COM深入编程>>这本书哪里有?
 
书店啊,你不急的话,我晚上回去 看看,明天 再告诉你有什么方法??
 
多谢,多谢大侠的热心帮助!!我等待你的回音!!
 
瑞星的那个小狮子,右键点击他会出现动画效果选项,点击动画效果选项会出现不同的动画效果,怎么实现的啊?
 
找几个这样的动画图片,在不同的事件里显示不同的就成了
 
还有怎么得到小精灵的坐标????
 
to xiaoxiami1:
取小精灵的坐标可以通过,IAgentCtlCharacterEx的left、top来取。
设置弹出菜单可以先设置IAgentCtlCharacterEx的autopopupmenu为False,再你自己写
弹出菜单。

下面是代码:

var
Form1: TForm1;

implementation

{$R *.dfm}
var
fRequst:IAgentCtlRequest;
fCharacter:IAgentCtlCharacterEx;

procedure TForm1.FormCreate(Sender: TObject);
begin
Agent1.Connected := true;
fRequst := Agent1.Characters.Load('test','C:/WINNT/msagent/chars/merlin.acs');
fCharacter := IAgentCtlCharacterEx(Agent1.Characters.Character('test'));
fCharacter.AutoPopupMenu := False;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
fCharacter.Show(false);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
fCharacter.Play('Processing'); //播放动画
end;

procedure TForm1.Agent1Click(Sender: TObject;
const CharacterID: WideString; Button, Shift, x, y: Smallint);
begin
if Button=2 then
PopupMenu1.Popup(x,y); //弹出菜单
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
showmessage(inttostr(fCharacter.Left)+ inttostr(fCharacter.Top)); //取精灵坐标

end;

end.
 
我也试一试,我在软件里设置了四个助手,效果换不错,就是右键彩旦不会做!
 
接受答案了.
 
顶部