You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
165 lines
5.6 KiB
C++
165 lines
5.6 KiB
C++
// XTPPropertyPage.h : interface for the CXTPPropertyPage class.
|
|
//
|
|
// This file is a part of the XTREME CONTROLS MFC class library.
|
|
// (c)1998-2012 Codejock Software, All Rights Reserved.
|
|
//
|
|
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
|
|
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
|
|
// CONSENT OF CODEJOCK SOFTWARE.
|
|
//
|
|
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
|
|
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
|
|
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
|
|
// SINGLE COMPUTER.
|
|
//
|
|
// CONTACT INFORMATION:
|
|
// support@codejock.com
|
|
// http://www.codejock.com
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
#if !defined(__XTPPROPERTYPAGE_H__)
|
|
#define __XTPPROPERTYPAGE_H__
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
//===========================================================================
|
|
// Summary:
|
|
// CXTPPropertyPage is a CPropertyPage derived class
|
|
// Objects of class CPropertyPage represent individual pages of a property sheet
|
|
// See Also:
|
|
// CXTPPropertySheet, CXTPPropertySheet::DoModal, CXTPPropertyPageNavigator
|
|
//===========================================================================
|
|
class _XTP_EXT_CLASS CXTPPropertyPage : public CPropertyPage, public CXTPResize
|
|
{
|
|
DECLARE_DYNCREATE(CXTPPropertyPage)
|
|
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Constructs a CXTPPropertyPage object.
|
|
// Parameters:
|
|
// nIDTemplate - ID of the template used for this page.
|
|
// lpszTemplateName - Points to a string containing the name of the template for this page. Cannot be NULL
|
|
// nIDCaption - ID of the name to be placed in the tab for this page. If 0, the name will be taken from the dialog template for this page
|
|
// Remarks:
|
|
// Use this member function to construct a CXTPPropertyPage object.
|
|
// To display the property sheet, call DoModal or Create.
|
|
// The string contained in the first parameter will be placed in the caption bar for the property sheet.
|
|
//-----------------------------------------------------------------------
|
|
CXTPPropertyPage();
|
|
CXTPPropertyPage(UINT nIDTemplate, UINT nIDCaption = 0); // <combine CXTPPropertyPage::CXTPPropertyPage>
|
|
CXTPPropertyPage(LPCTSTR lpszTemplateName, UINT nIDCaption = 0); // <combine CXTPPropertyPage::CXTPPropertyPage>
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Destroys a CXTPPropertyPage object, handles cleanup and deallocation
|
|
//-----------------------------------------------------------------------
|
|
~CXTPPropertyPage();
|
|
|
|
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Returns caption text used for property sheet tabs
|
|
//-----------------------------------------------------------------------
|
|
CString GetCaption() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Sets caption text used to draw property sheet tabs
|
|
// Parameters:
|
|
// lpszCaption - New caption to be set
|
|
//-----------------------------------------------------------------------
|
|
void SetCaption(LPCTSTR lpszCaption);
|
|
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
public:
|
|
void EndDialog(int nID);
|
|
|
|
protected:
|
|
virtual BOOL CreatePage(CWnd* pParentWnd);
|
|
|
|
BOOL LoadTemplate();
|
|
BOOL LoadTemplate(HGLOBAL& hTemplate, HINSTANCE& hInst);
|
|
|
|
void CommonConstruct();
|
|
|
|
void UpdateBars();
|
|
BOOL GetTrueClientSize(CSize& size, CSize& sizeSb);
|
|
void GetScrollBarSizes(CSize& sizeSb);
|
|
void GetScrollBarState(CSize sizeClient, CSize& needSb,
|
|
CSize& sizeRange, CPoint& ptMove, BOOL bInsideClient);
|
|
CPoint GetDeviceScrollPosition() const;
|
|
void ScrollToDevicePosition(POINT ptDev);
|
|
BOOL OnScroll(UINT nScrollCode, UINT nPos, BOOL bDoScroll = TRUE);
|
|
BOOL DoMouseWheel(UINT fFlags, short zDelta, CPoint point);
|
|
BOOL OnScrollBy(CSize sizeScroll, BOOL bDoScroll);
|
|
virtual void AdjustResizeRect(CSize& rcWindow);
|
|
void ScrollPage(int xAmount, int yAmount);
|
|
void OnChildSetFocus(HWND hWndFocus);
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
protected:
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
//{{AFX_VIRTUAL(CXTPPropertyPage)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
|
|
virtual BOOL OnInitDialog();
|
|
//}}AFX_VIRTUAL
|
|
|
|
//{{AFX_MSG(CXTPPropertyPage)
|
|
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
|
|
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
|
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
|
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
|
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
|
afx_msg BOOL OnMouseWheel(UINT fFlags, short zDelta, CPoint point);
|
|
afx_msg void OnNcPaint();
|
|
afx_msg void OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS* lpncsp);
|
|
//}}AFX_MSG
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
friend class CXTPPropertySheet;
|
|
|
|
public:
|
|
DWORD_PTR m_dwData; // Page specific 32-bit value
|
|
|
|
protected:
|
|
CXTPPropertySheet* m_pSheet; // Parent CXTPPropertySheet object
|
|
BOOL m_bModified; // TRUE to indicate that the property page settings have been modified
|
|
BOOL m_bInsideUpdate;
|
|
|
|
CSize m_totalDev;
|
|
CSize m_lineDev;
|
|
|
|
BOOL m_bCreated;
|
|
};
|
|
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
|
|
class _XTP_EXT_CLASS CXTPPropertyPageStaticCaption : public CWnd
|
|
{
|
|
public:
|
|
CXTPPropertyPageStaticCaption();
|
|
|
|
public:
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
afx_msg void OnPaint();
|
|
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
|
|
|
|
};
|
|
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
|
|
#endif // !defined(__XTPPROPERTYPAGE_H__)
|