dlgmapattset.cpp
上传用户:oybseng
上传日期:2015-04-27
资源大小:7831k
文件大小:3k
源码类别:

GDI/图象编程

开发平台:

Visual C++

  1. // dlgmapattset.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "..qgis.h"
  5. #include "dlgmapattset.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CDlgMapAttSet dialog
  13. CDlgMapAttSet::CDlgMapAttSet(CWnd* pParent /*=NULL*/)
  14. : CDialog(CDlgMapAttSet::IDD, pParent)
  15. {
  16. //{{AFX_DATA_INIT(CDlgMapAttSet)
  17. m_fRightY = 0.0;
  18. m_fRightX = 0.0;
  19. m_fLeftY = 0.0;
  20. m_fLeftX = 0.0;
  21. m_lMapScale = 0;
  22. //}}AFX_DATA_INIT
  23. }
  24. void CDlgMapAttSet::DoDataExchange(CDataExchange* pDX)
  25. {
  26. CDialog::DoDataExchange(pDX);
  27. //{{AFX_DATA_MAP(CDlgMapAttSet)
  28. DDX_Control(pDX, IDC_COMBO_UNIT_DLG_MAP_ATT, m_comUnit);
  29. DDX_Text(pDX, IDC_EDIT_RIGHT_Y_DLG_MAP_ATT, m_fRightY);
  30. DDV_MinMaxDouble(pDX, m_fRightY, 0., 10000.);
  31. DDX_Text(pDX, IDC_EDIT_RIGHT_X_DLG_MAP_ATT, m_fRightX);
  32. DDV_MinMaxDouble(pDX, m_fRightX, 0., 10000.);
  33. DDX_Text(pDX, IDC_EDIT_LEFT_Y_DLG_MAP_ATT, m_fLeftY);
  34. DDV_MinMaxDouble(pDX, m_fLeftY, 0., 10000.);
  35. DDX_Text(pDX, IDC_EDIT_LEFT_X_DLG_MAP_ATT, m_fLeftX);
  36. DDV_MinMaxDouble(pDX, m_fLeftX, 0., 10000.);
  37. DDX_Text(pDX, IDC_EDIT_SCALE_DLG_MAP_ATT, m_lMapScale);
  38. DDV_MinMaxLong(pDX, m_lMapScale, 1, 1000000);
  39. //}}AFX_DATA_MAP
  40. }
  41. BEGIN_MESSAGE_MAP(CDlgMapAttSet, CDialog)
  42. //{{AFX_MSG_MAP(CDlgMapAttSet)
  43. //}}AFX_MSG_MAP
  44. END_MESSAGE_MAP()
  45. /////////////////////////////////////////////////////////////////////////////
  46. // CDlgMapAttSet message handlers
  47. BOOL CDlgMapAttSet::OnInitDialog() 
  48. {
  49. CDialog::OnInitDialog();
  50. UpdateData(TRUE);
  51. m_lMapScale = 500;
  52. m_fLeftX = 0.0;
  53. m_fLeftY = 0.0;
  54. m_fRightX = 600.0;
  55. m_fRightY = 800.0;
  56. InitCombox(); // 初始化
  57. // TODO: Add extra initialization here
  58. UpdateData(FALSE);
  59. return TRUE;  // return TRUE unless you set the focus to a control
  60.               // EXCEPTION: OCX Property Pages should return FALSE
  61. }
  62. void CDlgMapAttSet::InitCombox()
  63. {
  64. m_comUnit.Clear();
  65. m_comUnit.AddString("米------M");
  66. m_comUnit.AddString("厘米---CM");
  67. m_comUnit.AddString("毫米---MM");
  68. m_comUnit.AddString("英尺--INCH");
  69. m_comUnit.AddString("公里---KM");
  70. m_comUnit.AddString("度分秒-DMS");
  71. m_comUnit.AddString("度------D");
  72. m_comUnit.SetCurSel(0);
  73. }
  74. CString CDlgMapAttSet::GetMapUnit()
  75. {
  76. CString szUint = "";
  77. int nMapUnit = m_comUnit.GetCurSel();
  78. switch(nMapUnit)
  79. {
  80. case 0:
  81. szUint = "米";
  82. break;
  83. case 1:
  84. szUint = "厘米";
  85. break;
  86. case 2:
  87. szUint = "毫米";
  88.     break;
  89. case 3:
  90. szUint = "英尺";
  91.     break;
  92. case 4:
  93. szUint = "公里";
  94. break;
  95. case 5:
  96. szUint = "度分秒";
  97. break;
  98. case 6:
  99. szUint = "度";
  100. break;
  101. default:
  102.     break;
  103. }
  104. return szUint;
  105. }
  106. void CDlgMapAttSet::OnOK() 
  107. {
  108. // TODO: Add extra validation her
  109. UpdateData(TRUE);
  110. m_nUnitType = m_comUnit.GetCurSel();
  111. UpdateData(FALSE);
  112. CDialog::OnOK();
  113. }