解决方案 »
- 窗口置顶
- TextOut的调用怎么会出错?(vs2005下)
- MFC怎么做开场画面??
- PC机上如何配置蓝牙开发环境,请做过的指点一下
- 采用多文档,添加文档模板,在一个窗口切分,跳过FormView中OnInitialUpdate()初始化,不能显示控制面板?
- function does not take 1 parameters这个错误,有源代码,真不知道那里的问题
- 请教ADO在SQL Server中随机抽取N条记录的方法
- vc中的时间问题!!
- 要从CObject派生新类CWave,怎么找不到CObject啊!!!
- 60分!怎样把每条记录顺序载入数据库??求救高手!
- 求助,我是不是真正的快乐、、
- Debug的问题 the thread has exited with code
但是 转到进程的函数是在一个CPropertyPage里面,
例如:
CPropSheet propSheet(L"任务管理器");
propSheet.SetActivePage(&propSheet.Prop_process);
其中:CPropSheet 为自定义的CProppertySheet的类
Prop_process为自定义的CPropertyPage的类还是无效,没有进行切换,应该是我不知道怎么用,你知道具体怎么用吗?
--- 这样不对
在Page里面创建的时候把传入的CPropSheet对象保存下来,而不是再创建一个 。然后调用SetActivePage
CPropertySheet *pParent = (CPropertySheet *)GetParent();
pParent->SetActivePage(iPage);
但是 转到进程的函数是在一个CPropertyPage里面,
例如:
CPropSheet propSheet(L"任务管理器");
propSheet.SetActivePage(&propSheet.Prop_process);
其中:CPropSheet 为自定义的CProppertySheet的类
Prop_process为自定义的CPropertyPage的类还是无效,没有进行切换,应该是我不知道怎么用,你知道具体怎么用吗?CPropertySheet::SetActivePage不是有两个重载函数吗?
CPropertySheet::SetActivePage(int nPage);
SetActivePage(CPropertyPage* pPage);
你用那个索引参数的就行了啊!CPropSheet propSheet(L"任务管理器");
propSheet.SetActivePage(&propSheet.Prop_process);
------------------------------------------------------------------------------------
你的菜单command消息处理应该在CPropertySheet类中处理吧,你直接搞个栈CPropSheet对象来处理,这个CPropSheet对象是你的原来的那个CPropSheet吗?肯定不是了有三种方法:
第一种是你的CPropertyPage在create的时候把原来的那个CPropSheet类对象指针作为父窗口传进去
CPropertyPage::Create(UINT nIDTemplate, CWnd* pParentWnd = NULL)
然后在菜单command消息处理中采用7楼的方法第二种是在你的CPropertyPage类中保存CPropSheet 对象指针,CPropertyPage对象构造的时候射进去,然后在菜单command消息处理中直接通过这个指针SetActivePage第三中是在你的CPropertyPage类中保存CPropSheet 对象的窗口句柄,CPropertyPage对象构造的时候射进去,然后在菜单command消息处理中通过这个句柄给CPropSheet发送自定义消息,CPropSheet收到这个消息的时候再SetActivePage
但是 转到进程的函数是在一个CPropertyPage里面,
例如:
CPropSheet propSheet(L"任务管理器");
propSheet.SetActivePage(&propSheet.Prop_process);
其中:CPropSheet 为自定义的CProppertySheet的类
Prop_process为自定义的CPropertyPage的类还是无效,没有进行切换,应该是我不知道怎么用,你知道具体怎么用吗?CPropertySheet::SetActivePage不是有两个重载函数吗?
CPropertySheet::SetActivePage(int nPage);
SetActivePage(CPropertyPage* pPage);
你用那个索引参数的就行了啊!CPropSheet propSheet(L"任务管理器");
propSheet.SetActivePage(&propSheet.Prop_process);
------------------------------------------------------------------------------------
你的菜单command消息处理应该在CPropertySheet类中处理吧,你直接搞个栈CPropSheet对象来处理,这个CPropSheet对象是你的原来的那个CPropSheet吗?肯定不是了有三种方法:
第一种是你的CPropertyPage在create的时候把原来的那个CPropSheet类对象指针作为父窗口传进去
CPropertyPage::Create(UINT nIDTemplate, CWnd* pParentWnd = NULL)
然后在菜单command消息处理中采用7楼的方法第二种是在你的CPropertyPage类中保存CPropSheet 对象指针,CPropertyPage对象构造的时候射进去,然后在菜单command消息处理中直接通过这个指针SetActivePage第三中是在你的CPropertyPage类中保存CPropSheet 对象的窗口句柄,CPropertyPage对象构造的时候射进去,然后在菜单command消息处理中通过这个句柄给CPropSheet发送自定义消息,CPropSheet收到这个消息的时候再SetActivePage
谢谢你的帮助,很详细