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

对话框与窗口

开发平台:

Visual C++

  1. // SkinPropertyPageControls.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "resource.h"
  5. #include "SkinPropertyPageControls.h"
  6. #ifdef _DEBUG
  7. #undef THIS_FILE
  8. static char BASED_CODE THIS_FILE[] = __FILE__;
  9. #endif
  10. /////////////////////////////////////////////////////////////////////////////
  11. // CSkinPropertyPageControls property page
  12. CSkinPropertyPageControls::CSkinPropertyPageControls() : CPropertyPage(CSkinPropertyPageControls::IDD)
  13. {
  14. //{{AFX_DATA_INIT(CSkinPropertyPageControls)
  15. m_radioSelected = 0;
  16. m_bSelected = TRUE;
  17. m_csNormal = _T("Normal");
  18. m_csDisabled = _T("Disabled");
  19. m_csSample = _T("MultilinernEdit");
  20. //}}AFX_DATA_INIT
  21. }
  22. CSkinPropertyPageControls::~CSkinPropertyPageControls()
  23. {
  24. }
  25. IMPLEMENT_DYNCREATE(CSkinPropertyPageControls, CPropertyPage)
  26. BEGIN_MESSAGE_MAP(CSkinPropertyPageControls, CPropertyPage)
  27. //{{AFX_MSG_MAP(CSkinPropertyPageControls)
  28. ON_WM_HSCROLL()
  29. //}}AFX_MSG_MAP
  30. END_MESSAGE_MAP()
  31. void CSkinPropertyPageControls::DoDataExchange(CDataExchange* pDX)
  32. {
  33. CPropertyPage::DoDataExchange(pDX);
  34. //{{AFX_DATA_MAP(CSkinPropertyPageControls)
  35. DDX_Control(pDX, IDC_PROGRESS1, m_wndProgress);
  36. DDX_Control(pDX, IDC_SLIDER_NORMAL, m_wndSlider);
  37. DDX_Control(pDX, IDC_LISTBOX_SAMPLE, m_wndListBox);
  38. DDX_Control(pDX, IDC_COMBO_NORMAL, m_comboNormal);
  39. DDX_Control(pDX, IDC_COMBO_DISABLED, m_comboDisabled);
  40. DDX_Control(pDX, IDC_SCROLLBAR_NORMAL, m_sbarNormal);
  41. DDX_Control(pDX, IDC_TREE_SAMPLE, m_wndTreeCtrl);
  42. DDX_Control(pDX, IDC_LIST_SAMPLE, m_wndListCtrl);
  43. DDX_Control(pDX, IDC_TAB_SAMPLE, m_wndTabControl);
  44. DDX_Radio(pDX, IDC_RADIO_SELECTED, m_radioSelected);
  45. DDX_Check(pDX, IDC_CHK_SELECTED, m_bSelected);
  46. DDX_Text(pDX, IDC_EDIT_NORMAL, m_csNormal);
  47. DDX_Text(pDX, IDC_EDIT_DISABLED, m_csDisabled);
  48. DDX_Text(pDX, IDC_EDIT_SAMPLE, m_csSample);
  49. //}}AFX_DATA_MAP
  50. }
  51. BOOL CSkinPropertyPageControls::OnInitDialog() 
  52. {
  53. CPropertyPage::OnInitDialog();
  54. // CListBox
  55. int i;
  56. for (i = 0; i < 20; i++)
  57. {
  58. CString strItem;
  59. strItem.Format(_T("Item%i"), i);
  60. m_wndListBox.AddString(strItem);
  61. }
  62. // CListCtrl
  63. m_wndListCtrl.InsertColumn(0, _T("Column One"),   LVCFMT_LEFT, 100);
  64. m_wndListCtrl.InsertColumn(1, _T("Column Two"),   LVCFMT_LEFT, 100);
  65. m_wndListCtrl.InsertColumn(2, _T("Column Three"), LVCFMT_LEFT, 100);
  66. for (i = 0; i < 100; ++i)
  67. {
  68. CString strItem;
  69. CString strSubA;
  70. CString strSubB;
  71. strItem.Format(_T("Item %d"), i);
  72. strSubA.Format(_T("Sub A %d"), i);
  73. strSubB.Format(_T("Sub B %d"), i);
  74. m_wndListCtrl.InsertItem(i, strItem, 0);
  75. m_wndListCtrl.SetItem(i, 1, LVIF_TEXT, strSubA, 0, NULL, NULL, NULL);
  76. m_wndListCtrl.SetItem(i, 2, LVIF_TEXT, strSubB, 0, NULL, NULL, NULL);
  77. }
  78. // CTreeCtrl
  79. for (i = 0; i < 2; i++)
  80. {
  81. HTREEITEM hItem1 = m_wndTreeCtrl.InsertItem(_T("Expanded Node"));
  82. HTREEITEM hItem2 = m_wndTreeCtrl.InsertItem(_T("Expanded Node"), 0,0, hItem1);
  83. m_wndTreeCtrl.InsertItem(_T("Leaf"), 0,0, hItem1);
  84. m_wndTreeCtrl.InsertItem(_T("Leaf"), 0,0, hItem2);
  85. m_wndTreeCtrl.InsertItem(_T("Leaf"), 0,0, hItem2);
  86. m_wndTreeCtrl.Expand(hItem1, TVE_EXPAND);
  87. m_wndTreeCtrl.Expand(hItem2, TVE_EXPAND);
  88. }
  89. // CScrollBar
  90. SCROLLINFO info;
  91. info.cbSize = sizeof(SCROLLINFO);     
  92. info.fMask = SIF_ALL;     
  93. info.nMin = 0;     
  94. info.nMax = 2; 
  95. info.nPage = 1;     
  96. info.nPos = 1;    
  97. info.nTrackPos = 2; 
  98. m_sbarNormal.SetScrollInfo(&info);
  99. int cx = CXTPWindowRect(&m_sbarNormal).Width();
  100. int cy = ::GetSystemMetrics(SM_CYVTHUMB);
  101. m_sbarNormal.SetWindowPos(NULL, 0, 0, cx, cy, SWP_NOMOVE|SWP_FRAMECHANGED);
  102. // CComboBox
  103. m_comboNormal.SetCurSel(0);
  104. m_comboDisabled.SetCurSel(0);
  105. m_wndSlider.SetPos(30);
  106. m_wndProgress.SetPos(30);
  107. // CTabCtrl
  108. TCITEM item;
  109. item.mask = TCIF_TEXT;
  110. item.pszText = _T("Item");
  111. m_wndTabControl.InsertItem(0, &item);
  112. m_wndTabControl.InsertItem(1, &item);
  113. m_wndTabControl.InsertItem(2, &item);
  114. return TRUE;  // return TRUE unless you set the focus to a control
  115.               // EXCEPTION: OCX Property Pages should return FALSE
  116. }
  117. void CSkinPropertyPageControls::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
  118. {
  119. if (pScrollBar == (CScrollBar*)&m_wndSlider)
  120. {
  121. m_wndProgress.SetPos(m_wndSlider.GetPos());
  122. }
  123. CPropertyPage::OnHScroll(nSBCode, nPos, pScrollBar);
  124. }