iCAx开思网

标题: CAA Dialog 的ok按钮监测 [打印本页]

作者: liuruixiao205    时间: 2005-8-11 12:42
标题: CAA Dialog 的ok按钮监测
   我想在对话框ok按钮点下执行万命令后,工具栏中命令自动回到“选择"命令上,如附件.我要加一个CATDialogAgent,如:
_pdaOkButton = new CATDialogAgent("Ok");
     _pdaOkButton->AcceptOnNotify(_boxDlg, _boxDlg->GetDiaOKNotification());
   AddTransition ( pstProduct, NULL,  
     IsOutputSetCondition(_pdaOkButton),
     Action((ActionMethod) [$MyCmd1CmdkAction))]
请问高手OkAction里面应该怎么写,还需要做其事情吗?
作者: liuruixiao205    时间: 2005-8-11 12:51
  就是CreateText命令完成后返回和它上面的命令一样的状态
作者: liuruixiao205    时间: 2005-8-12 09:35

作者: xyzhu    时间: 2005-8-12 15:34
你做Toolbar的时候为CreateText按键创建了一个CATCommand,将其指针想办法传给OKAction,然后调用CATCommandancel将这个CATCommand消除.
作者: acoka    时间: 2005-8-12 22:00
你是要连续执行CreateText这个命令?
作者: liuruixiao205    时间: 2005-8-15 12:16
你是要连续执行CreateText这个命令?
对,就是说命令执行完后,命令不再处于被选择状态
作者: liuruixiao205    时间: 2005-8-15 12:18
你做Toolbar的时候为CreateText按键创建了一个CATCommand,将其指针想办法传给OKAction,然后调用CATCommandancel将这个CATCommand消除.
  
xyzhu 兄能具体一点吗,或粘贴一点类似的程序
作者: xyzhu    时间: 2005-8-15 15:51
试试在OKAction的最后加一句
this->RequestDelayedDestruction()
作者: xyzhu    时间: 2005-8-16 17:42
你的调用过程如果是这样的:
按CreateText (激活它的CATStateCommand) --> 显示Dialog --> 按OK/Cancel键 --> Dialog Destruction.
你只需在OKAction的最后加一句this->RequestDelayedDestruction(),但如果调用过程为:
按CreateText (激活它的CATCommand) --> 显示Dialog --> 产生CATStateCommand --> 按OK/Cancel键 --> Dialog Destruction.
那么当Dialog被Destruction的时候,必须将CreateText所用的Command Cancel掉,为此必须将CreateText所用的CATCommand的指针传给Dialog.
关键是CreateText所用的CATCommand必须被Cancel掉.
作者: zhtg15    时间: 2011-8-28 16:28
dgvdsgdfhbdf
作者: linlily0925    时间: 2011-9-13 14:52
在程序的最后加上一句话~this->RequestDelayedDestruction()




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3