我的程序在ProppertySheet里有两个PropertyPage,我在PropertyPage1的PropertyPage函数里向ListCtrl写了东西然后选择,然后切换到PropertyPage2中将在PropertyPage1中选择的内容显示出来,现在想切换到PropertyPage1中,然后继续选择PropertyPage1的ListCtrl中的内容然后在在PropertyPage2中显示,请问如何实现切换后还能能够实现这种功能,是要在ONDRAW()中写吗?谢了咯
调试欢乐多
PropertyPage2* page = (PropertyPage2*) sheet->GetPage(1); //page 为PropertyPage2的指针int row=m_list.GetSelectionMark (); //这样可以获取你点击的那一行
CString item=m_lista.GetItemText(row,col);//这样可以获取你想要的单元格,col为第几列//在这里假设你把ListCtr中选中的内容显示在PropertyPage2中的编辑框中,则可以这样
page->m_edit.SetWindowText(item);// m_edit为PropertyPage2中编辑框的控制变量,
我第一次选择完PAGE1中的内容,然后切换到PAGE2可以正常显示,
=============================
因为这时候PAGE2才开始初始化。会执行PAGE2中的OnInitDialog()
但当你第二次在PAGE1中选择的东西的时候,,切换到PAGE2时,因为初始化工作已经完成,就不会再调用PAGE2中的OnInitDialog()函数来,OnInitDialog()函数在初始化对话框时只执行一次。所以你第二次在PAGE1中选择的东西就PAGE2中就无法显示了。我上面也说,叫你在
在PropertyPage1页面中ListCtrl单击函数里面做:
BOOL PropSheet::OnInitDialog()
{
CPropertySheet::OnInitDialog(); SetActivePage(2);
SetActivePage(1);
SetActivePage(0);
return TRUE;
}