📄 cdxcdynamicpropsheet.h
字号:
#if !defined(AFX_CDXCDYNAMICPROPSHEET_H__82427297_6456_11D3_802D_000000000000__INCLUDED_)#define AFX_CDXCDYNAMICPROPSHEET_H__82427297_6456_11D3_802D_000000000000__INCLUDED_#if _MSC_VER >= 1000#pragma once#endif // _MSC_VER >= 1000// cdxCDynamicPropSheet.h : header file//#include "cdxCDynamicWndEx.h"#pragma warning(disable: 4100)class cdxCDynamicPropPage;/* * cdxCDynamicPropSheet * ==================== * Dynamic property sheet. */class cdxCDynamicPropSheet : public CPropertySheet, public cdxCDynamicWndEx{ DECLARE_DYNCREATE(cdxCDynamicPropSheet); enum { flDefault = flAntiFlicker|flSizeIcon|flSWPCopyBits }; friend class cdxCDynamicPropPage;private: Position m_PagePos; bool m_bHasPos;public: cdxCDynamicPropSheet(Freedom fd = fdAll, UINT nFlags = flDefault); cdxCDynamicPropSheet(UINT nIDCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0, Freedom fd = fdAll, UINT nFlags = flDefault); cdxCDynamicPropSheet(LPCTSTR pszCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0, Freedom fd = fdAll, UINT nFlags = flDefault); cdxCDynamicPropSheet(UINT sheetAutoPosID, UINT nIDCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0, Freedom fd = fdAll, UINT nFlags = flDefault); cdxCDynamicPropSheet(UINT sheetAutoPosID, LPCTSTR pszCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0, Freedom fd = fdAll, UINT nFlags = flDefault); cdxCDynamicPropSheet(LPCTSTR lpszSheetAutoPosID, UINT nIDCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0, Freedom fd = fdAll, UINT nFlags = flDefault); cdxCDynamicPropSheet(LPCTSTR lpszSheetAutoPosID, LPCTSTR pszCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0, Freedom fd = fdAll, UINT nFlags = flDefault); virtual ~cdxCDynamicPropSheet() { DoOnDestroy(); } // opspublic: virtual void AddPage( cdxCDynamicPropPage & rPage ); virtual void RemovePage( cdxCDynamicPropPage & rPage ); void AddPage( cdxCDynamicPropPage *pPage ) { ASSERT(pPage != NULL); AddPage(*pPage); } void RemovePage( cdxCDynamicPropPage *pPage ) { ASSERT(pPage != NULL); RemovePage(*pPage); } void RemovePage( int nPage ); BOOL IsWizard() const { return (m_psh.dwFlags & PSH_WIZARD) != 0; } // eventsprotected: virtual void OnInitPage(cdxCDynamicPropPage & rPage); virtual void OnSetActive(cdxCDynamicPropPage & rPage, BOOL bStatus) { if(IsWindow() && IsWizard()) Layout(); } virtual void OnKillActive(cdxCDynamicPropPage & rPage, BOOL bStatus) {}// Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(cdxCDynamicPropSheet) public: virtual BOOL DestroyWindow(); //}}AFX_VIRTUAL// Implementationpublic: // Generated message map functionsprotected: //{{AFX_MSG(cdxCDynamicPropSheet) virtual BOOL OnInitDialog(); afx_msg void OnClose(); afx_msg void OnDestroy(); afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnSizing(UINT fwSide, LPRECT pRect); afx_msg void OnTimer(UINT nIDEvent); afx_msg void OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI); //}}AFX_MSG DECLARE_MESSAGE_MAP(); DECLARE_DYNAMIC_MAP();};/* * cdxCDynamicPropPage * =================== * The page for our sheet. */class cdxCDynamicPropPage : public CPropertyPage, public cdxCDynamicWnd{ DECLARE_DYNCREATE(cdxCDynamicPropPage) friend class cdxCDynamicPropSheet; enum { flDefault = flAntiFlicker };private: cdxCDynamicPropSheet *m_pSheet; bool m_bFirstHit;public: cdxCDynamicPropPage() : cdxCDynamicWnd(fdAll,flDefault), m_pSheet(NULL), m_bFirstHit(false) {} cdxCDynamicPropPage(UINT nID, UINT nIDCaption = 0) : CPropertyPage(nID,nIDCaption), cdxCDynamicWnd(fdAll,flDefault), m_pSheet(NULL), m_bFirstHit(false) {} cdxCDynamicPropPage(LPCTSTR lpszID, UINT nIDCaption = 0) : CPropertyPage(lpszID,nIDCaption), cdxCDynamicWnd(fdAll,flDefault), m_pSheet(NULL), m_bFirstHit(false) {} virtual ~cdxCDynamicPropPage() { DoOnDestroy(); } cdxCDynamicPropSheet *GetSheet() const { return m_pSheet; }// Dialog Data //{{AFX_DATA(cdxCDynamicPropPage) // NOTE - ClassWizard will add data members here. // DO NOT EDIT what you see in these blocks of generated code ! //}}AFX_DATA// Overrides // ClassWizard generate virtual function overrides //{{AFX_VIRTUAL(cdxCDynamicPropPage) public: virtual BOOL OnSetActive(); virtual BOOL OnKillActive(); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL// Implementationprotected: // Generated message map functions //{{AFX_MSG(cdxCDynamicPropPage) afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnTimer(UINT nIDEvent); virtual BOOL OnInitDialog(); afx_msg void OnDestroy(); afx_msg void OnSizing(UINT fwSide, LPRECT pRect); afx_msg void OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI); afx_msg void OnParentNotify(UINT message, LPARAM lParam); //}}AFX_MSG DECLARE_MESSAGE_MAP()};//////////////////////////////////////////////////////////////////////// inlines//////////////////////////////////////////////////////////////////////inline cdxCDynamicPropSheet::cdxCDynamicPropSheet(Freedom fd, UINT nFlags): cdxCDynamicWndEx(fd,nFlags), m_bHasPos(false){}inline cdxCDynamicPropSheet::cdxCDynamicPropSheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage, Freedom fd, UINT nFlags): CPropertySheet(nIDCaption,pParentWnd,iSelectPage), cdxCDynamicWndEx(fd,nFlags), m_bHasPos(false){}inline cdxCDynamicPropSheet::cdxCDynamicPropSheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage, Freedom fd, UINT nFlags): CPropertySheet(pszCaption,pParentWnd,iSelectPage), cdxCDynamicWndEx(fd,nFlags), m_bHasPos(false){}inline cdxCDynamicPropSheet::cdxCDynamicPropSheet(UINT sheetAutoPosID, UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage, Freedom fd, UINT nFlags): CPropertySheet(nIDCaption,pParentWnd,iSelectPage), cdxCDynamicWndEx(fd,nFlags), m_bHasPos(false){ if(sheetAutoPosID) ActivateAutoPos(sheetAutoPosID);}inline cdxCDynamicPropSheet::cdxCDynamicPropSheet(UINT sheetAutoPosID, LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage, Freedom fd, UINT nFlags): CPropertySheet(pszCaption,pParentWnd,iSelectPage), cdxCDynamicWndEx(fd,nFlags), m_bHasPos(false){ if(sheetAutoPosID) ActivateAutoPos(sheetAutoPosID);}inline cdxCDynamicPropSheet::cdxCDynamicPropSheet(LPCTSTR lpszSheetAutoPosID, UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage, Freedom fd, UINT nFlags): CPropertySheet(nIDCaption,pParentWnd,iSelectPage), cdxCDynamicWndEx(fd,nFlags), m_bHasPos(false){ if(lpszSheetAutoPosID && *lpszSheetAutoPosID) ActivateAutoPos(lpszSheetAutoPosID);}inline cdxCDynamicPropSheet::cdxCDynamicPropSheet(LPCTSTR lpszSheetAutoPosID, LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage, Freedom fd, UINT nFlags): CPropertySheet(pszCaption,pParentWnd,iSelectPage), cdxCDynamicWndEx(fd,nFlags), m_bHasPos(false){ if(lpszSheetAutoPosID && *lpszSheetAutoPosID) ActivateAutoPos(lpszSheetAutoPosID);}#pragma warning(default: 4100)//{{AFX_INSERT_LOCATION}}// Microsoft Developer Studio will insert additional declarations immediately before the previous line.#endif // !defined(AFX_CDXCDYNAMICPROPSHEET_H__82427297_6456_11D3_802D_000000000000__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -