PageSetupMarginsPage.cpp
上传用户:cding2008
上传日期:2007-01-03
资源大小:1812k
文件大小:4k
源码类别:

OpenGL

开发平台:

Visual C++

  1. // PageSetupMarginsPage.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ModelMagic3D.h"
  5. #include "PageSetupMarginsPage.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CPageSetupMarginsPage local variables
  13. static CString szMargin[] = {"0.0"", "0.1"", "0.2"", "0.3"", "0.4"", "0.5"", "0.6"", "0.7"", "0.8"", "0.9"",
  14.  "1.0"", "1.1"", "1.2"", "1.3"", "1.4"", "1.5"", "1.6"", "1.7"", "1.8"", "1.9"",
  15.  "2.0"", "2.1"", "2.2"", "2.3"", "2.4"", "2.5"", "2.6"", "2.7"", "2.8"", "2.9"",
  16.  "3.0"", "3.1"", "3.2"", "3.3"", "3.4"", "3.5"", "3.6"", "3.7"", "3.8"", "3.9"",
  17.  "4.0"", "4.1"", "4.2"", "4.3"", "4.4"", "4.5"", "4.6"", "4.7"", "4.8"", "4.9"",
  18.  "5.0"", "5.1"", "5.2"", "5.3"", "5.4"", "5.5"", "5.6"", "5.7"", "5.8"", "5.9"",
  19.  "6.0"", "6.1"", "6.2"", "6.3"", "6.4"", "6.5"", "6.6"", "6.7"", "6.8"", "6.9"",
  20.  "7.0"", "7.1"", "7.2"", "7.3"", "7.4"", "7.5"", "7.6"", "7.7"", "7.8"", "7.9"",
  21.  };
  22. #define NUM_CHOICES 80
  23. /////////////////////////////////////////////////////////////////////////////
  24. // CPageSetupMarginsPage property page
  25. IMPLEMENT_DYNCREATE(CPageSetupMarginsPage, CPropertyPage)
  26. CPageSetupMarginsPage::CPageSetupMarginsPage() : CPropertyPage(CPageSetupMarginsPage::IDD)
  27. {
  28. m_pData = NULL;
  29. //{{AFX_DATA_INIT(CPageSetupMarginsPage)
  30. m_iRadioCenterImage = -1;
  31. //}}AFX_DATA_INIT
  32. }
  33. CPageSetupMarginsPage::~CPageSetupMarginsPage()
  34. {
  35. }
  36. void CPageSetupMarginsPage::DoDataExchange(CDataExchange* pDX)
  37. {
  38. CPropertyPage::DoDataExchange(pDX);
  39. //{{AFX_DATA_MAP(CPageSetupMarginsPage)
  40. DDX_Control(pDX, IDC_HEADER, m_ListHeaderMargin);
  41. DDX_Control(pDX, IDC_FOOTER, m_ListFooterMargin);
  42. DDX_Control(pDX, IDC_LEFT, m_ListLeftMargin);
  43. DDX_Control(pDX, IDC_RIGHT, m_ListRightMargin);
  44. DDX_Control(pDX, IDC_TOP, m_ListTopMargin);
  45. DDX_Control(pDX, IDC_BOTTOM, m_ListBottomMargin);
  46. DDX_Radio(pDX, IDC_RADIO_CENTER_IMAGE, m_iRadioCenterImage);
  47. //}}AFX_DATA_MAP
  48. }
  49. BEGIN_MESSAGE_MAP(CPageSetupMarginsPage, CPropertyPage)
  50. //{{AFX_MSG_MAP(CPageSetupMarginsPage)
  51. //}}AFX_MSG_MAP
  52. END_MESSAGE_MAP()
  53. /////////////////////////////////////////////////////////////////////////////
  54. // CPageSetupMarginsPage procedures
  55. void CPageSetupMarginsPage::LoadMarginListBox(CListBox* pList)
  56. {
  57. ASSERT(pList);
  58. // Reset or clear the contents of the list box and load our
  59. // default choices
  60. pList->ResetContent();
  61. for(int i=0; i<NUM_CHOICES; i++)
  62. pList->AddString(szMargin[i]);
  63. if(m_pData)
  64. {
  65. struct MARGIN_DATA* data = (struct MARGIN_DATA*)m_pData;
  66. CString szString;
  67. szString.Format("%1.1f"", data->fTop);
  68. int iRetn = pList->FindString(0, szString);
  69. if(iRetn)
  70. pList->SetCurSel(iRetn);
  71. }
  72. }
  73. /////////////////////////////////////////////////////////////////////////////
  74. // CPageSetupMarginsPage message handlers
  75. BOOL CPageSetupMarginsPage::OnInitDialog() 
  76. {
  77. // let the base class do the default work
  78. CPropertyPage::OnInitDialog();
  79. // Load our margin list boxes
  80. LoadMarginListBox(&m_ListTopMargin);
  81. LoadMarginListBox(&m_ListBottomMargin);
  82. LoadMarginListBox(&m_ListLeftMargin);
  83. LoadMarginListBox(&m_ListRightMargin);
  84. LoadMarginListBox(&m_ListHeaderMargin);
  85. LoadMarginListBox(&m_ListFooterMargin);
  86. return TRUE;  // return TRUE unless you set the focus to a control
  87.               // EXCEPTION: OCX Property Pages should return FALSE
  88. }