MFC的类CPropertySheet问题
MSDN上是这样写的:CPropertySheet::AddPagevoidAddPage(CPropertyPage*pPage);vc6的CPropertySheet...
MSDN上是这样写的:
CPropertySheet::AddPage
void AddPage( CPropertyPage *pPage );
vc6的CPropertySheet类的头文件源代码是这样写的:
void AddPage(CPropertySheet* pPage);
请问我想用AddPage()这个函数的时候应该听哪一个??
我是把三个属性页加到一个PropertySheet上。属性页是从CPropertyPage继承的.但是请问高手 为什么源文件上的和MSDN上说的不一样呢
下面我把我的代码贴出来
class CPropSheet : public CPropertySheet
{
DECLARE_DYNAMIC(CPropSheet)
public:
CPropSheet(UINT nIDCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);
CPropSheet(LPCTSTR pszCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);
public:
public:
public:
CPro3 m_prop3;
CPro2 m_prop2;
CPro1 m_prop1;
virtual ~CPropSheet();
protected:
DECLARE_MESSAGE_MAP()
};
class CPro1 : public CPropertyPage
{
DECLARE_DYNCREATE(CPro1)
public:
CPro1();
~CPro1();
enum { IDD = IDD_PRO1 };
protected:
virtual void DoDataExchange(CDataExchange* pDX);
protected:
DECLARE_MESSAGE_MAP()
}; 展开
CPropertySheet::AddPage
void AddPage( CPropertyPage *pPage );
vc6的CPropertySheet类的头文件源代码是这样写的:
void AddPage(CPropertySheet* pPage);
请问我想用AddPage()这个函数的时候应该听哪一个??
我是把三个属性页加到一个PropertySheet上。属性页是从CPropertyPage继承的.但是请问高手 为什么源文件上的和MSDN上说的不一样呢
下面我把我的代码贴出来
class CPropSheet : public CPropertySheet
{
DECLARE_DYNAMIC(CPropSheet)
public:
CPropSheet(UINT nIDCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);
CPropSheet(LPCTSTR pszCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);
public:
public:
public:
CPro3 m_prop3;
CPro2 m_prop2;
CPro1 m_prop1;
virtual ~CPropSheet();
protected:
DECLARE_MESSAGE_MAP()
};
class CPro1 : public CPropertyPage
{
DECLARE_DYNCREATE(CPro1)
public:
CPro1();
~CPro1();
enum { IDD = IDD_PRO1 };
protected:
virtual void DoDataExchange(CDataExchange* pDX);
protected:
DECLARE_MESSAGE_MAP()
}; 展开
5个回答
展开全部
你可以 在你需要弹出属性对话框的地方这样使用:
CPropertySheet ProSheet("设置");
C***Page1 page1;
C***Page2 page2;
C***Page3 page3;
ProSheet.AddPage(&page1);
ProSheet.AddPage(&page2);
ProSheet.AddPage(&page3);
if( ProSheet.DoModal()== IDOK)
{
}
VC6.0不是那样的,可以贴出来看看你的VC6.0的源代码
在你的CPropSheet构造函数AddPage进去就行了
CPropertySheet ProSheet("设置");
C***Page1 page1;
C***Page2 page2;
C***Page3 page3;
ProSheet.AddPage(&page1);
ProSheet.AddPage(&page2);
ProSheet.AddPage(&page3);
if( ProSheet.DoModal()== IDOK)
{
}
VC6.0不是那样的,可以贴出来看看你的VC6.0的源代码
在你的CPropSheet构造函数AddPage进去就行了
展开全部
MSDN上是这样写的:
CPropertySheet::AddPage
void AddPage( CPropertyPage *pPage );
vc6的CPropertySheet类的头文件源代码是这样写的:
void AddPage(CPropertySheet* pPage);
这个问题,怎么看2句语句都是一摸一样的写法,完全没有任何区别。结论是你的6.0和msdn写的没有出入。
就好比
int* pPoint;
int *pPoint;
这2条没有任何区别。
----------------------------------
CPropertySheet::AddPage
void AddPage( CPropertyPage *pPage );
vc6的CPropertySheet类的头文件源代码是这样写的:
void AddPage(CPropertySheet* pPage);
这个问题,怎么看2句语句都是一摸一样的写法,完全没有任何区别。结论是你的6.0和msdn写的没有出入。
就好比
int* pPoint;
int *pPoint;
这2条没有任何区别。
----------------------------------
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CPropertySheet::AddPage
void Addpage( CPropertyPage *pPage );
参数: pPage 指向要被添加到属性表中去的页。不能是NULL。
要相信自己,多个PropertyPage组成一个PropertySheet,参数肯定是PropertyPage类的指针。
void Addpage( CPropertyPage *pPage );
参数: pPage 指向要被添加到属性表中去的页。不能是NULL。
要相信自己,多个PropertyPage组成一个PropertySheet,参数肯定是PropertyPage类的指针。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CPropertySheet头文件中有这个void AddPage(CPropertySheet* pPage); ?
1.你看错了
2.你的MFC源文件错了
1.你看错了
2.你的MFC源文件错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
必须从CPropertyPage继承,除非你不用CPropertySheet。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询