TaskPageGeneral.cpp
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:5k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // TaskPageGeneral.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "VistaTaskDialog.h"
  5. #include "TaskSheetProperties.h"
  6. #include "TaskPageGeneral.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. static const TCHAR SAMPLE_TEXT[] = _T("Xxxx ");
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CTaskPageGeneral property page
  15. IMPLEMENT_DYNCREATE(CTaskPageGeneral, CPropertyPage)
  16. CTaskPageGeneral::CTaskPageGeneral() : CPropertyPage(CTaskPageGeneral::IDD)
  17. {
  18. //{{AFX_DATA_INIT(CTaskPageGeneral)
  19. m_bAllowCancel = TRUE;
  20. m_bHyperLinks = TRUE;
  21. m_bMarquee = FALSE;
  22. m_bPosition = FALSE;
  23. m_bProgress = FALSE;
  24. m_bRtl = FALSE;
  25. m_bVerify = FALSE;
  26. m_bWidth = TRUE;
  27. m_strContent = _T("Content");
  28. m_strFooter = _T("Footer");
  29. m_strMainInstruction = _T("Main Instruction");
  30. m_strWindowTitle = _T("Window Title");
  31. m_strVerificationText = _T("");
  32. m_nCount = 5;
  33. m_nWidth = 430;
  34. //}}AFX_DATA_INIT
  35. m_strWindowTitle.LoadString(IDS_WINDOWTITLE);
  36. m_strMainInstruction.LoadString(IDS_MAININSTRUCTION);
  37. m_strContent.LoadString(IDS_CONTENT);
  38. m_strFooter.LoadString(IDS_FOOTER);
  39. //m_strVerificationText.LoadString(IDS_EDIT_VERIFY);
  40. //m_strContent = _T("How much do you like TaskDialogs? How much do you like TaskDialogs? How much do you like TaskDialogs? How much do you like TaskDialogs? How much do you like TaskDialogs? How much do you like TaskDialogs? How much do you like TaskDialogs? How much do you like TaskDialogs? How much do you like TaskDialogs? How much do you like TaskDialogs? How much do you like TaskDialogs? How much do you like TaskDialogs? How much do you like TaskDialogs? How much do you like TaskDialogs? ");
  41. //m_strMainInstruction.Empty();
  42. //for (int i = 0; i < m_nCount; i += 5)
  43. //{
  44. // m_strMainInstruction += SAMPLE_TEXT; 
  45. //}
  46. }
  47. CTaskPageGeneral::~CTaskPageGeneral()
  48. {
  49. }
  50. void CTaskPageGeneral::DoDataExchange(CDataExchange* pDX)
  51. {
  52. CPropertyPage::DoDataExchange(pDX);
  53. //{{AFX_DATA_MAP(CTaskPageGeneral)
  54. DDX_Check(pDX, IDC_CHK_ALLOWCANCEL, m_bAllowCancel);
  55. DDX_Check(pDX, IDC_CHK_HYPERLINKS, m_bHyperLinks);
  56. DDX_Check(pDX, IDC_CHK_MARQUEE, m_bMarquee);
  57. DDX_Check(pDX, IDC_CHK_POSITION, m_bPosition);
  58. DDX_Check(pDX, IDC_CHK_PROGRESS, m_bProgress);
  59. DDX_Check(pDX, IDC_CHK_RTL, m_bRtl);
  60. DDX_Check(pDX, IDC_CHK_VERIFY, m_bVerify);
  61. DDX_Check(pDX, IDC_CHK_WIDTH, m_bWidth);
  62. DDX_Text(pDX, IDC_EDIT_CONTENT, m_strContent);
  63. DDX_Text(pDX, IDC_EDIT_FOOTER, m_strFooter);
  64. DDX_Text(pDX, IDC_EDIT_MAIN, m_strMainInstruction);
  65. DDX_Text(pDX, IDC_EDIT_TITLE, m_strWindowTitle);
  66. DDX_Text(pDX, IDC_EDIT_VERIFY, m_strVerificationText);
  67. DDX_Text(pDX, IDC_TXT_COUNTBYFIVE, m_nCount);
  68. DDX_Text(pDX, IDC_EDIT_WIDTH, m_nWidth);
  69. //}}AFX_DATA_MAP
  70. }
  71. BEGIN_MESSAGE_MAP(CTaskPageGeneral, CPropertyPage)
  72. //{{AFX_MSG_MAP(CTaskPageGeneral)
  73. ON_EN_CHANGE(IDC_EDIT_TITLE, OnUpdateData)
  74. ON_EN_CHANGE(IDC_EDIT_MAIN, OnUpdateData)
  75. ON_EN_CHANGE(IDC_EDIT_CONTENT, OnUpdateData)
  76. ON_EN_CHANGE(IDC_EDIT_FOOTER, OnUpdateData)
  77. ON_EN_CHANGE(IDC_EDIT_VERIFY, OnUpdateData)
  78. ON_BN_CLICKED(IDC_CHK_VERIFY, OnUpdateData)
  79. ON_BN_CLICKED(IDC_CHK_WIDTH, OnUpdateData)
  80. ON_EN_CHANGE(IDC_EDIT_WIDTH, OnUpdateData)
  81. ON_BN_CLICKED(IDC_CHK_HYPERLINKS, OnUpdateData)
  82. ON_BN_CLICKED(IDC_CHK_ALLOWCANCEL, OnUpdateData)
  83. ON_BN_CLICKED(IDC_CHK_POSITION, OnUpdateData)
  84. ON_BN_CLICKED(IDC_CHK_PROGRESS, OnUpdateData)
  85. ON_BN_CLICKED(IDC_CHK_MARQUEE, OnUpdateData)
  86. ON_BN_CLICKED(IDC_CHK_RTL, OnUpdateData)
  87. //}}AFX_MSG_MAP
  88. ON_BN_CLICKED(IDC_BTN_ADDFIVE, OnBnClickedBtnAdd)
  89. ON_BN_CLICKED(IDC_BTN_SUBFIVE, OnBnClickedBtnSub)
  90. END_MESSAGE_MAP()
  91. void CTaskPageGeneral::OnUpdateData()
  92. {
  93. UpdateData();
  94. GetDlgItem(IDC_CHK_VERIFY)->EnableWindow(!m_strVerificationText.IsEmpty());
  95. GetDlgItem(IDC_EDIT_WIDTH)->EnableWindow(m_bWidth);
  96. GetDlgItem(IDC_CHK_MARQUEE)->EnableWindow(m_bProgress);
  97. }
  98. BOOL CTaskPageGeneral::OnInitDialog() 
  99. {
  100. CPropertyPage::OnInitDialog();
  101. // TODO: Add extra initialization here
  102. m_pDlgParent = DYNAMIC_DOWNCAST(CTaskSheetProperties, GetParent());
  103. ASSERT_VALID(m_pDlgParent);
  104. GetDlgItem(IDC_CHK_VERIFY)->EnableWindow(!m_strVerificationText.IsEmpty());
  105. GetDlgItem(IDC_BTN_ADDFIVE)->ShowWindow(SW_HIDE);
  106. GetDlgItem(IDC_BTN_SUBFIVE)->ShowWindow(SW_HIDE);
  107. GetDlgItem(IDC_TXT_COUNTBYFIVE)->ShowWindow(SW_HIDE);
  108. GetDlgItem(IDC_EDIT_WIDTH)->EnableWindow(m_bWidth);
  109. GetDlgItem(IDC_CHK_MARQUEE)->EnableWindow(m_bProgress);
  110. return TRUE;  // return TRUE unless you set the focus to a control
  111.               // EXCEPTION: OCX Property Pages should return FALSE
  112. }
  113. BOOL CTaskPageGeneral::OnSetActive()
  114. {
  115. if (!CPropertyPage::OnSetActive())
  116. return FALSE;
  117. return TRUE;
  118. }
  119. void CTaskPageGeneral::OnBnClickedBtnAdd()
  120. {
  121. m_nCount += 25;
  122. m_strMainInstruction.Empty();
  123. for (int i = 0; i < m_nCount; i += 5)
  124. {
  125. m_strMainInstruction += SAMPLE_TEXT; 
  126. }
  127. UpdateData(FALSE);
  128. }
  129. void CTaskPageGeneral::OnBnClickedBtnSub()
  130. {
  131. m_nCount -= 25;
  132. m_strMainInstruction.Empty();
  133. for (int i = 0; i < m_nCount; i += 5)
  134. {
  135. m_strMainInstruction += SAMPLE_TEXT; 
  136. }
  137. UpdateData(FALSE);
  138. }