存在两种AFXDataDialog构造器的原型。两种原型中的区别是对话框的阻隔行为,如下面例子中所阐述的。
●下面的描述创建了一个在与主窗口重叠时总是阻隔主窗口的对话框:
AFXDataDialog(mode,title,actionButtonIds=0,
opts=DIALOG_NORMAL,x=0,y=0,w=0,h=0)
●下面的描述创建了一个在与窗口部件重叠时总是阻隔它自己窗口部件(通常是一个对话框)的对话框。
AFXDataDialog(mode,owner,title,actionButtonIds=0,
opts=DIALOG_NORMAL,x=0,y=0,w=0,h=0)
当构建一个对话框时,将从AFXDataDialog类派生开始。在构造器体内应当做的第一件事情是调用基础类构造器来正确地初始化对话框,然后通过添加窗口部件来建立自己的对话框内容。例如:
classMyDB(AFXDataDialog):(www.xing528.com)
#我的构造器
def__init__(self):
#调用基础类构造器
AFXDataDialog.__init__(self,form,'MyDialog',
self.OKself.CANCEL)
#添加下一个窗口组件...
当一个对话框不显示时,从屏幕上删除它。删除一个对话框,不仅删除与对话框有关的GUI资源,也删除对话框的数据结构。相比而言,在它不显示时,可以选择摧毁对话框。摧毁一个对话框,仅去除了GUI资源,保留了对话框的数据结构。
如果在显示不同的对话框期间,用户想保留一些对话框的GUI状态,则应当指定仅在它不显示时摧毁对话框。这样,当对话框再次显示时,它再次得到它的数据结构,并且老状态依然完好。例如,假定对话框包含一个表,并且用户重新定义了表中一列的大小。如果在它不显示时只摧毁了对话框,则该表的列大小将在对话框下一次显示时被记住。要指定对话框在不显示时应当被摧毁,需向对话框构造器的opts参数中添加DIALOG_UNPOST_DESTROY标识符。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。