通过从AFXProcedure派生一个新的类来开始编写一个过程模式。在AFXProcedure构造器体内,必须调用基础类构造器并且传递给所有者,所有者是过程归属的模块或者工具包GUI。可以传递进一个过程类型的值。类型的默认值是NORMAL。类型定义当前正在执行其他的过程时,启用一个新过程将要发生什么。
过程的类型可以是NORMAL或者SUBPROCEDURE。当启用一个正常的过程时,它放弃任何当前执行的过程。当启用一个子过程时,它暂停一个正常过程或者放弃其他的子过程。如果暂停一个过程,一旦子过程完成,就恢复过程。
显示过程(如平移、旋转和缩放)是过程的特殊类型,不能暂停。当启用其他过程时,总是放弃显示过程。当启用显示过程时,总是暂停任何当前执行的过程。
默认情况,基础构架使用过程的类名来区分它们。如果需要让多个过程的个体在同一个时候执行,则将需要通过调用setModeName方法来使得基础构架区分它们的名字。(www.xing528.com)
在从AFXProcedure派生一个新类后,定义模式需要的命令和关键字。关键字作为模式的成员来存储,这样步骤可以使用它们。如果在AFXGuiCommand构造器中设置了register-Query=True,则当启用模式时,模式将查询命令指定的内核对象,并且自动地设置命令关键字的值。更多的信息见6.5.3节。如果没有与用户的命令相关联的内核对象(如当创建一个新对象时),则可以通过在它们的构造器中指定一个默认值来设置关键字的值。
如果有一个默认对象,想用来为一个对话框重建默认值,则能够使用模式的registerDe-faultsObject方法来注册一个对象,当用户单击对话框中的Defaults按钮时,将查询该对象的值。更多的信息见6.5.16节。
默认情况下,对话框作为非模式显示。可以通过调用self.setModal(True)来将一个对话框显示成模式。在大部分情况下,在模式中只设置形态一次。可以根据需要通过在getFirstDialog或者getNextDialog方法中调用setModal方法来改变形态。更多的信息见5.2节。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。