📄 ngdialog.h
字号:
#if !defined(__NGDialog_H__)
#define __NGDialog_H__
/************************************************************************
*
* Extended dialog classes
*
* Written by Anna Metcalfe (code@annasplace.me.uk)
*
************************************************************************
*
* Filename : NGDialog.h
*
* Compiler : Microsoft Visual C++ 6.0, Service Pack 3 or later
* Microsoft Visual C++.NET
*
* Target
* Environment : Win98/Me/NT/2000/XP
*
* NOTE:
*
* Your are free to use this code in your own products, PROVIDED
* this notice is not removed or modified.
*
************************************************************************/
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// NGDialog.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// Classes declared in this file
class CNGDialog;
class CNGPropertyPage;
class CNGPropertySheet;
/////////////////////////////////////////////////////////////////////////////
// CNGDialog dialog
#define CNGDialog_BASE CDialog
class NGLIB_EXT_CLASS CNGDialog : public CDialog
{
DECLARE_DYNAMIC(CNGDialog);
// Construction
public:
CNGDialog(UINT uID = 0, CWnd* pParentWnd = NULL);
virtual ~CNGDialog(void);
// Attributes
public:
CObject* m_pServer;
CDocument* m_pDoc;
BOOL m_bModified;
CRect m_rectInitialPosition;
CRect m_rectPosition;
// Dialog Data
//{{AFX_DATA(CNGDialog)
//}}AFX_DATA
// Operations
public:
BOOL SetServer(CObject* pServer);
BOOL SetDocument(CDocument* pDocument);
void SetModified(BOOL bChanged = TRUE);
BOOL EnableDlgControl(UINT nID, BOOL bEnable);
BOOL ShowDlgControl(UINT nID, BOOL bShow);
BOOL SetReadOnly(UINT uID, BOOL bReadOnly = TRUE);
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
protected:
// Overrides
// ClassWizard generate virtual function overrides
//{{AFX_VIRTUAL(CNGDialog)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
virtual void OnOK(void);
virtual BOOL OnInitDialog(void);
//}}AFX_VIRTUAL
public:
virtual void OnInitData(void);
protected:
virtual BOOL OnCtrlValueChanging(UINT uCtrlID, HWND hWnd, int nCode);
// Implementation
protected:
bool m_bLockCtrlUpdates;
void SetInitialPosition(void);
// Generated message map functions
//{{AFX_MSG(CNGDialog)
afx_msg void OnMove(int x, int y);
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
// CPropertySheetEx and CPropertyPageEx are depreciated in Visual C++ .NET 2002
//
// Thanks to Thorir Sandholt for pointing this out.
//
#if _MFC_VER >= 0x0700
#define CNGPropertyPage_BASE CPropertyPage // Visual C++ .NET 2002
#else
#define CNGPropertyPage_BASE CPropertyPageEx // Visual C++ 6.0
#endif
class NGLIB_EXT_CLASS CNGPropertyPage : public CNGPropertyPage_BASE
{
DECLARE_DYNAMIC(CNGPropertyPage)
// Construction
public:
CNGPropertyPage( UINT uID = 0,
UINT uIDCaption = 0,
UINT uTitleID = 0,
UINT uSubtitleID = 0);
CNGPropertyPage( LPCTSTR pszCaption,
UINT uIDCaption = 0,
UINT uTitleID = 0,
UINT uSubtitleID = 0);
virtual ~CNGPropertyPage(void);
protected:
// Dialog Data
//{{AFX_DATA(CNGPropertyPage)
//}}AFX_DATA
CObject* m_pObject; // obsolete
CObject* m_pServer;
CDocument* m_pDoc;
BOOL m_bModified;
// Operations
public:
BOOL SetObject(CObject* pObject); // obsolete
BOOL SetServer(CObject* pServer);
BOOL SetDocument(CDocument* pDocument);
void SetModified(BOOL bChanged = TRUE);
BOOL EnableDlgControl(UINT nID, BOOL bEnable);
BOOL ShowDlgControl(UINT nID, BOOL bShow);
BOOL SetReadOnly(UINT uID, BOOL bReadOnly = TRUE);
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
protected:
// Overrides
// ClassWizard generate virtual function overrides
//{{AFX_VIRTUAL(CNGPropertyPage)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
virtual BOOL OnSetActive(void);
virtual BOOL OnKillActive(void);
virtual BOOL OnInitDialog(void);
virtual BOOL OnApply(void);
//}}AFX_VIRTUAL
public:
virtual void OnInitData(void);
protected:
virtual BOOL OnCtrlValueChanging(UINT uCtrlID, HWND hWnd, int nCode);
// Implementation
protected:
bool m_bLockCtrlUpdates;
// Generated message map functions
//{{AFX_MSG(CNGPropertyPage)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
// CNGPropertySheet
// CPropertySheetEx and CPropertyPageEx are depreciated in Visual C++ .NET 2002
//
// Thanks to Thorir Sandholt for pointing this out.
//
#if _MFC_VER >= 0x0700
#define CNGPropertySheet_BASE CPropertySheet // Visual C++ .NET 2002
#else
#define CNGPropertySheet_BASE CPropertySheetEx // Visual C++ 6.0
#endif
class NGLIB_EXT_CLASS CNGPropertySheet : public CNGPropertySheet_BASE
{
DECLARE_DYNAMIC(CNGPropertySheet)
// Construction
public:
CNGPropertySheet(UINT nIDCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);
CNGPropertySheet(LPCTSTR pszCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);
virtual ~CNGPropertySheet(void);
// Attributes
public:
CRect m_rectInitialPosition;
CRect m_rectPosition;
// Operations
public:
BOOL EnableDlgControl(UINT uID, BOOL bEnable);
BOOL ShowDlgControl(UINT uID, BOOL bShow);
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CNGPropertySheet)
public:
virtual BOOL OnInitDialog(void);
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
//}}AFX_VIRTUAL
virtual void OnSetActive(CPropertyPage* pPage);
virtual void OnKillActive(CPropertyPage* pPage);
// Implementation
protected:
void SetInitialPosition(void);
// Generated message map functions
protected:
//{{AFX_MSG(CNGPropertySheet)
afx_msg void OnMove(int x, int y);
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // !defined(__NGDialog_H__)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -