📄 subject_23409.htm
字号:
<p>
序号:23409 发表者:金枪鱼 发表日期:2002-12-03 23:54:40
<br>主题:属性页的数据交换问题
<br>内容:构造了三个属性页(对话框模板的,由对话框资源)<BR>CPropertyPage P1;<BR>CpropertyPage P2;<BR>CPropertyPage P3;<BR>通过类向导添加了一个属性单类<BR>Sheet1;<BR><BR>我觉得在<BR>Sheet1 S1;//构造属性单的实例<BR>S1.AddPage(&P1);//加入属性页<BR>S1.AddPage(&P2);<BR>S1.AddPage(&P3);<BR>if(IDOK=S1.DoModal())<BR>{<BR> S1.P1.m_.....<BR>........<BR>}<BR>这个函数体中处理各属性页中成员变量十分困难,并且一旦这样操作,属性单就关闭了。我想如果属性页中有些控件输入不正确时,要保持属性单的状态,以便用户修改。这样又没法重新启动属性单,也无法其保持原来的输入状态。<BR><BR>按照我的理解,属性页与其成员变量之间的数据交换好办,因为可以重载它的IDOK和IDCancel函数,在其中通过UpdateData函数来处理(因为与对话框的操作一样)。<BR><BR>属性单可以重载其OnInitDialog函数初始化数据,并传入属性页成员变量,结束时可以重载DestryWindow函数,从中取出属性页成员数据到属性单成员。<BR><BR>我被这种数据的交换弄懂一塌糊涂,并且在属性页类和属性单类中定义了大量我认为是重复的成员变量来记录同样的记录。最终还是没有解决问题。<BR>这AddPage函数是应该在Sheet类的初始化中使用,还是应该通过Sheet类的实例S1来添加?并且我想在判断到用户输入出错时能够保持属性单的状态(不关闭),而弹出MessagBox消息来提示用户修改。<BR><BR>请高手指点上述数据交换问题?<BR>2002-12-4 0:00:41
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -