目前正在学习MFC,入门资料参见大神鸡啄米的MFC学习教程
在VS2010/MFC编程入门之十四(对话框:向导对话框的创建及显示)一节中,
http://www.jizhuomi.com/software/166.html<a target=_blank href="http://www.jizhuomi.com/software/166.html">点击打开链接</a>
作者创建了三个属性页对话框类和一个属性页表类,三个属性对话框,分别对应了三个属性对话框,属性页表类容纳了三个属性页表。
在实现过程中,并未出现设置三个属性对话框出现顺序的属性,问题来了:是什么决定了属性页对话框出现的顺序?
答案:属性页表类的构造函数中,属性页的添加顺序 ,决定了属性其出现的顺序。
CAddSheet::CAddSheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
{
AddPage(&m_summandPage);//此处添加属性对话框的顺序决定了,对话框出现的顺序
AddPage(&m_addendPage);
AddPage(&m_addPage);
}
CAddSheet::CAddSheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(pszCaption, pParentWnd, iSelectPage)
{
AddPage(&m_summandPage);//此处添加属性对话框的顺序决定了,对话框出现的顺序
AddPage(&m_addendPage);
AddPage(&m_addPage);
猜测:更深层的原因,应该与类成员函数的构造以及MFC对话消息传递的机制有关,消息传递机制还不是很清楚,不做深入说明。
初学MFC,错误之处,还请各位指正,谢谢!qq:1430631931