PCHNGPG.CPP
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:

Windows编程

开发平台:

Visual C++

  1. // PropertyChangesPage.Cpp : implementation file
  2. //
  3. #include "StdAfx.H"
  4. #include "TestCon.H"
  5. #include "Resource.hm"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CPropertyChangesPage property page
  13. IMPLEMENT_DYNCREATE(CPropertyChangesPage, CPropertyPage)
  14. CPropertyChangesPage::CPropertyChangesPage() :
  15.    CPropertyPage( CPropertyChangesPage::IDD )
  16. {
  17.    m_psp.dwFlags &= ~PSP_HASHELP;
  18. //{{AFX_DATA_INIT(CPropertyChangesPage)
  19. // NOTE: the ClassWizard will add member initialization here
  20. //}}AFX_DATA_INIT
  21. }
  22. CPropertyChangesPage::~CPropertyChangesPage()
  23. {
  24. }
  25. void CPropertyChangesPage::DoDataExchange( CDataExchange* pDX )
  26. {
  27.    int iProperty;
  28.    int iItem;
  29. CPropertyPage::DoDataExchange( pDX );
  30. //{{AFX_DATA_MAP(CPropertyChangesPage)
  31. DDX_Control(pDX, IDC_PROPERTIES_CHANGES, m_lbProperties);
  32. //}}AFX_DATA_MAP
  33.    if( m_lbProperties.GetCount() > 0 )
  34.    {
  35.   for( iProperty = 0; iProperty < m_astrPropertyNames.GetSize();
  36.  iProperty++ )
  37.   {
  38.  iItem = m_lbProperties.FindStringExact( -1, m_astrPropertyNames[
  39. iProperty] );
  40.  ASSERT( iItem != LB_ERR );
  41.  if( pDX->m_bSaveAndValidate )
  42.  {
  43. m_atLogFlags[iProperty] = m_lbProperties.GetCheck( iItem );
  44.  }
  45.  else
  46.  {
  47. m_lbProperties.SetCheck( iItem, m_atLogFlags[iProperty] != FALSE );
  48.  }
  49.   }
  50.    }
  51. }
  52. BEGIN_MESSAGE_MAP(CPropertyChangesPage, CPropertyPage)
  53. //{{AFX_MSG_MAP(CPropertyChangesPage)
  54. ON_WM_HELPINFO()
  55. ON_WM_CONTEXTMENU()
  56. //}}AFX_MSG_MAP
  57. END_MESSAGE_MAP()
  58. /////////////////////////////////////////////////////////////////////////////
  59. // CPropertyChangesPage message handlers
  60. BOOL CPropertyChangesPage::OnInitDialog()
  61. {
  62.    int iProperty;
  63. CPropertyPage::OnInitDialog();
  64.    for( iProperty = 0; iProperty < m_astrPropertyNames.GetSize(); iProperty++ )
  65.    {
  66.   m_lbProperties.AddString( m_astrPropertyNames[iProperty] );
  67.    }
  68.    UpdateData( FALSE );
  69. return( TRUE );
  70. }
  71. static DWORD rgmapCHID[] =
  72. {
  73.    IDC_PROPERTIES_CHANGES, HIDC_PROPERTIES_CHANGES,
  74.    0, 0
  75. };
  76. BOOL CPropertyChangesPage::OnHelpInfo( HELPINFO* pHelpInfo )
  77. {
  78.    return( ::WinHelp( HWND( pHelpInfo->hItemHandle ),
  79.   AfxGetApp()->m_pszHelpFilePath, HELP_WM_HELP, DWORD( LPVOID(
  80.   rgmapCHID ) ) ) );
  81. }
  82. void CPropertyChangesPage::OnContextMenu( CWnd* pWnd, CPoint /* point */ )
  83. {
  84.    ::WinHelp( HWND( *pWnd ), AfxGetApp()->m_pszHelpFilePath, HELP_CONTEXTMENU,
  85.   DWORD( LPVOID( rgmapCHID ) ) );
  86. }