首先在对话框中需要嵌入属性表的位置放置一个picture控件,除需设置一个特定的标示符id外控件的属性可采用缺省设置。找到控件的方法一般有两种:或是利用classwizard将该控件映射为对话框类的数据成员(是一个cstatic类的实例),本例采用这种方法;或是在程序中根据“占位符”的特定id,利用getdlgitem () 函数获得对控件的控制权。
然后在对话框编辑器中将picture控件的大小调整为对应属性页对话框的大小。
最后在对话框的oninitdialog ( ) 函数中加入如下代码,以获得“占位符”位置并作相应的坐标转换,其中m_ctrlholder是“占位符”经classwizard映射所得的cstatic类的实例。
crect rect;
m_ctrlholder.getwindowrect (&rect);
screentoclient (&rect);
2. 生成属性表和属性页代码
根据需要生成要创建的属性表和属性页的代码,这一步可照常进行。
3.属性表的“动态创建”及数据交换
完成以上准备工作后就可以动态创建属性表了。首先,在对话框类中加入一公有数据成员,是属性表的一个实例或指针,用于对属性表的操作如动态创建和数据交换。