EllipsepropDlg.cpp
上传用户:ywlong9188
上传日期:2022-05-31
资源大小:2656k
文件大小:4k
源码类别:

远程控制编程

开发平台:

C/C++

  1. // EllipsepropDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "Colorstatic.h"
  5. #include "EllipsepropDlg.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CEllipsepropDlg dialog
  13. CEllipsepropDlg::CEllipsepropDlg(CWnd* pParent /*=NULL*/)
  14. : CDialog(CEllipsepropDlg::IDD, pParent)
  15. {
  16. //{{AFX_DATA_INIT(CEllipsepropDlg)
  17. m_nAttr = -1;
  18. m_nStyle = -1;
  19. m_nEndAngle = 0;
  20. m_nStartAngle = 0;
  21. m_nWidth = 0;
  22. m_name = _T("");
  23. //}}AFX_DATA_INIT
  24. m_bFirst = TRUE;
  25. }
  26. void CEllipsepropDlg::DoDataExchange(CDataExchange* pDX)
  27. {
  28. CDialog::DoDataExchange(pDX);
  29. //{{AFX_DATA_MAP(CEllipsepropDlg)
  30. DDX_Control(pDX, IDC_ELLIPSE_EANGLE, m_cEAngle);
  31. DDX_Control(pDX, IDC_ELLIPSE_SANGLE, m_cSAngle);
  32. DDX_Control(pDX, IDC_COMBO1, m_cStyle);
  33. DDX_Radio(pDX, IDC_ATTR_FILLED, m_nAttr);
  34. DDX_CBIndex(pDX, IDC_COMBO1, m_nStyle);
  35. DDX_Text(pDX, IDC_ELLIPSE_EANGLE, m_nEndAngle);
  36. DDX_Text(pDX, IDC_ELLIPSE_SANGLE, m_nStartAngle);
  37. DDX_Text(pDX, IDC_ELLIPSE_LINEWIDTH, m_nWidth);
  38. DDV_MinMaxInt(pDX, m_nWidth, 1, 32);
  39. DDX_Text(pDX, IDC_ELLIPSE_NAME, m_name);
  40. //}}AFX_DATA_MAP
  41. }
  42. BEGIN_MESSAGE_MAP(CEllipsepropDlg, CDialog)
  43. //{{AFX_MSG_MAP(CEllipsepropDlg)
  44. ON_EN_CHANGE(IDC_ELLIPSE_LINEWIDTH, OnChangeEllipseLinewidth)
  45. ON_BN_CLICKED(IDC_ATTR_FILLED, OnAttrFilled)
  46. ON_BN_CLICKED(IDC_RADIO2, OnRadio2)
  47. ON_BN_CLICKED(IDC_RADIO3, OnRadio3)
  48. ON_BN_CLICKED(IDC_RADIO4, OnRadio4)
  49. ON_BN_CLICKED(IDC_RADIO5, OnRadio5)
  50. //}}AFX_MSG_MAP
  51. END_MESSAGE_MAP()
  52. /////////////////////////////////////////////////////////////////////////////
  53. // CEllipsepropDlg message handlers
  54. BOOL CEllipsepropDlg::OnInitDialog() 
  55. {
  56. CDialog::OnInitDialog();
  57. // TODO: Add extra initialization here
  58. m_line.SubclassDlgItem(IDC_ELLIPSE_LINE_COLOR,this);
  59. m_fill.SubclassDlgItem(IDC_ELLIPSE_FILL_COLOR,this);
  60. if(m_cStyle.GetSafeHwnd() != NULL)
  61. m_cStyle.EnableWindow(m_nWidth<=1);
  62. if(m_nAttr ==0 || m_nAttr ==1){
  63. if(m_cSAngle.GetSafeHwnd() != NULL)
  64. m_cSAngle.EnableWindow(FALSE);
  65. if(m_cEAngle.GetSafeHwnd() != NULL)
  66. m_cEAngle.EnableWindow(FALSE);
  67. }
  68. else
  69. {
  70. if(m_cSAngle.GetSafeHwnd() != NULL)
  71. m_cSAngle.EnableWindow(TRUE);
  72. if(m_cEAngle.GetSafeHwnd() != NULL)
  73. m_cEAngle.EnableWindow(TRUE);
  74. }
  75. return TRUE;  // return TRUE unless you set the focus to a control
  76. // EXCEPTION: OCX Property Pages should return FALSE
  77. }
  78. void CEllipsepropDlg::OnChangeEllipseLinewidth() 
  79. {
  80. // TODO: Add your control notification handler code here
  81. if(!m_bFirst){
  82. UpdateData(TRUE);
  83. }
  84. if(m_nWidth > 1)
  85. {
  86. m_nStyle = 0;
  87. if(m_cStyle.GetSafeHwnd() != NULL)
  88. m_cStyle.EnableWindow(FALSE);
  89. }else{
  90. if(m_cStyle.GetSafeHwnd() != NULL)
  91. m_cStyle.EnableWindow(TRUE);
  92. }
  93. m_bFirst = FALSE;
  94. }
  95. void CEllipsepropDlg::OnAttrFilled() 
  96. {
  97. // TODO: Add your control notification handler code here
  98. if(m_cSAngle.GetSafeHwnd() != NULL)
  99. m_cSAngle.EnableWindow(FALSE);
  100. if(m_cEAngle.GetSafeHwnd() != NULL)
  101. m_cEAngle.EnableWindow(FALSE);
  102. }
  103. void CEllipsepropDlg::OnRadio2() 
  104. {
  105. // TODO: Add your control notification handler code here
  106. if(m_cSAngle.GetSafeHwnd() != NULL)
  107. m_cSAngle.EnableWindow(FALSE);
  108. if(m_cEAngle.GetSafeHwnd() != NULL)
  109. m_cEAngle.EnableWindow(FALSE);
  110. }
  111. void CEllipsepropDlg::OnRadio3() 
  112. {
  113. // TODO: Add your control notification handler code here
  114. if(m_cSAngle.GetSafeHwnd() != NULL)
  115. m_cSAngle.EnableWindow(TRUE);
  116. if(m_cEAngle.GetSafeHwnd() != NULL)
  117. m_cEAngle.EnableWindow(TRUE);
  118. }
  119. void CEllipsepropDlg::OnRadio4() 
  120. {
  121. // TODO: Add your control notification handler code here
  122. if(m_cSAngle.GetSafeHwnd() != NULL)
  123. m_cSAngle.EnableWindow(TRUE);
  124. if(m_cEAngle.GetSafeHwnd() != NULL)
  125. m_cEAngle.EnableWindow(TRUE);
  126. }
  127. void CEllipsepropDlg::OnRadio5() 
  128. {
  129. // TODO: Add your control notification handler code here
  130. if(m_cSAngle.GetSafeHwnd() != NULL)
  131. m_cSAngle.EnableWindow(TRUE);
  132. if(m_cEAngle.GetSafeHwnd() != NULL)
  133. m_cEAngle.EnableWindow(TRUE);
  134. }