⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmyproperty.h

📁 深入剖析Visual C++编程技术及应用实例
💻 H
字号:
// ExampelDlg.h : Header-Datei
//

#if !defined(AFX_CPROPERTYG_H__3F20C546_869F_11D2_B6F4_0000C0E36C6E__INCLUDED_)
#define AFX_CPROPERTY_H__3F20C546_869F_11D2_B6F4_0000C0E36C6E__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000


#define	ID_NEXT_FIELD		1
#define	ID_PREV_FIELD	2

class	CMyPropDialog;

////////////////////////////////////////////////////////////////////////////

// Class to handle the pages
class CMyPropertyPage : public CObject {
public:
	DLGTEMPLATE	m_dlgTemplate;	// Templatestructure
	DLGTEMPLATE	*m_pResource;	// I create my dialogs on the fly
					// so I need a pointer to the memory
	HLOCAL			m_hLocal;		// Memory-Handle
	CString			m_strTitle;
	CMyPropDialog	*m_pDialogPage;	// pointer to the dialog structur
	CRect			m_Rect;		// size of the dialog on the screen
	
};

 ////////////////////////////////////////////////////////////////////////////

// Class to handle the TabCtrl
class CMyPropertySheet : public CTabCtrl
{
// Construction
public:
        CMyPropertySheet();

	CRect   m_Rect;             // Rectangle coordinates
	UINT    m_nCtrlID;          // CTrlID in the dialog
	int     m_nPages;			// number of pages
	int     m_nActPage;			// Actual page
	// Array of dialogs
	CObArray	m_Dialogs;
	
// Attributes
public:

// Operations
public:
	int		SetActivePage (int nPage);
	int		SetActivePage (CMyPropDialog* pPage);
	CMyPropDialog	*GetPage (int nPage);
	CMyPropDialog	*GetActivePage (void);
	int		GetPageCount (void);
	BOOL	DispPage (int	nCommand);		// handling pgup and pgdn
		

        //{{AFX_VIRTUAL(CMyPropertySheet)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void PostNcDestroy();
	//}}AFX_VIRTUAL

// Implementation
public:
        virtual ~CMyPropertySheet();

protected:
        //{{AFX_MSG(CMyPropertySheet)
        afx_msg void OnSelchange(NMHDR* pNMHDR, LRESULT* pResult);
        //}}AFX_MSG

        DECLARE_MESSAGE_MAP()
};

////////////////////////////////////////////////////////////////////////////

// CMyPropDialog the dialog

class CMyPropDialog : public CDialog
{
// Konstruction
public:
	CMyPropDialog(CWnd* pParent = NULL);   // Standardconstruction
	
// Dialogfields
	//{{AFX_DATA(CMyPropDialog)
	// enum { IDD = _UNKNOWN_RESOURCE_ID_ }; I create my  dialogs on the fly

	//}}AFX_DATA


	//{{AFX_VIRTUAL(CMyPropDialog)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra,
				AFX_CMDHANDLERINFO* pHandlerInfo);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    
	virtual void PostNcDestroy();
	//}}AFX_VIRTUAL

// Implementation
protected:

	//{{AFX_MSG(CMyPropDialog)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};


//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio f黦t zus鋞zliche Deklarationen unmittelbar vor der vorhergehenden Zeile ein.

#endif // !defined(AFX_CPROPERTY_H__3F20C546_869F_11D2_B6F4_0000C0E36C6E__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -