PropPage2.cpp
上传用户:wujian85
上传日期:2010-04-08
资源大小:227k
文件大小:6k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // PropPage2.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "printformeditor.h"
  5. #include "PropPage2.h"
  6. #include "Doc.h"
  7. #include "View.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CPropPage2 dialog
  15. CPropPage2::CPropPage2(CWnd* pParent /*=NULL*/)
  16. : CDialog(CPropPage2::IDD, pParent)
  17. {
  18. //{{AFX_DATA_INIT(CPropPage2)
  19. csCond = _T("");
  20. csId = _T("");
  21. csId2 = _T("");
  22. //}}AFX_DATA_INIT
  23. pDoc = NULL;
  24. pView = NULL;
  25. }
  26. /*
  27. DDX_Control(pDX, IDC_CB_ID2, wndCbId2);
  28. DDX_Control(pDX, IDC_CB_ID, wndCbId);
  29. DDX_Control(pDX, IDC_CB_COND, wndCbCond);
  30. DDX_Control(pDX, IDC_CB_VALIGN, wndCbVAlign);
  31. DDX_Control(pDX, IDC_CB_HALIGN, wndCbHAlign);
  32. */
  33. void CPropPage2::DoDataExchange(CDataExchange* pDX)
  34. {
  35. CDialog::DoDataExchange(pDX);
  36. DDX_Control(pDX, IDC_CB_ID2, wndCbId2);
  37. DDX_Control(pDX, IDC_CB_ID, wndCbId);
  38. DDX_Control(pDX, IDC_CB_COND, wndCbCond);
  39. DDX_Control(pDX, IDC_CB_VALIGN, wndCbVAlign);
  40. DDX_Control(pDX, IDC_CB_HALIGN, wndCbHAlign);
  41. if (wndCbVAlign.GetCount() <= 0)
  42. {
  43. wndCbVAlign.SetItemData(wndCbVAlign.AddString("top"), DT_TOP);
  44. wndCbVAlign.SetItemData(wndCbVAlign.AddString("middle"), DT_VCENTER);
  45. wndCbVAlign.SetItemData(wndCbVAlign.AddString("bottom"), DT_BOTTOM);
  46. }
  47. if (wndCbHAlign.GetCount() <= 0)
  48. {
  49. wndCbHAlign.SetItemData(wndCbHAlign.AddString("left"), DT_LEFT);
  50. wndCbHAlign.SetItemData(wndCbHAlign.AddString("center"), DT_CENTER);
  51. wndCbHAlign.SetItemData(wndCbHAlign.AddString("right"), DT_RIGHT);
  52. }
  53. if (wndCbId.GetCount() <= 0)
  54. {
  55. wndCbId.AddString("ID TRY 1");
  56. wndCbId.AddString("ID TRY 2");
  57. wndCbId.AddString("ID TRY 3");
  58. }
  59. if (wndCbId2.GetCount() <= 0)
  60. {
  61. wndCbId2.AddString("ID TRY 1");
  62. wndCbId2.AddString("ID TRY 2");
  63. wndCbId2.AddString("ID TRY 3");
  64. }
  65. if (wndCbCond.GetCount() <= 0)
  66. {
  67. wndCbCond.AddString("COND1");
  68. wndCbCond.AddString("COND2");
  69. }
  70. if (pDoc && pView && !(pDX->m_bSaveAndValidate))
  71. {
  72. if (pDoc->GetSelectedCount() > 0)
  73. {
  74. bool bMulti = pDoc->GetSelectedCount() > 1;
  75. CString cs;
  76. for (int t = 0; t < pDoc->iFormObj; t++)
  77. {
  78. if (pDoc->ppObjs[t]->bSelected)
  79. {
  80. if (pDoc->ppObjs[t]->uiTextFormat&DT_CENTER) wndCbHAlign.SetCurSel(1);
  81. else if (pDoc->ppObjs[t]->uiTextFormat&DT_RIGHT) wndCbHAlign.SetCurSel(2);
  82. else wndCbHAlign.SetCurSel(0);
  83. if (pDoc->ppObjs[t]->uiTextFormat&DT_VCENTER) wndCbVAlign.SetCurSel(1);
  84. else if (pDoc->ppObjs[t]->uiTextFormat&DT_BOTTOM) wndCbVAlign.SetCurSel(2);
  85. else wndCbVAlign.SetCurSel(0);
  86. csId = pDoc->ppObjs[t]->cId;
  87. csId2 = pDoc->ppObjs[t]->cId2;
  88. csCond = pDoc->ppObjs[t]->cCond;
  89. }
  90. }
  91. }
  92. }
  93. //{{AFX_DATA_MAP(CPropPage2)
  94. DDX_CBString(pDX, IDC_CB_COND, csCond);
  95. DDX_CBString(pDX, IDC_CB_ID, csId);
  96. DDX_CBString(pDX, IDC_CB_ID2, csId2);
  97. //}}AFX_DATA_MAP
  98. if (pDoc && pView && pDX->m_bSaveAndValidate && pDoc->GetSelectedCount() > 0)
  99. {
  100. bool bMulti = pDoc->GetSelectedCount() > 1;
  101. CString cs;
  102. for (int t = 0; t < pDoc->iFormObj; t++)
  103. {
  104. if (pDoc->ppObjs[t]->bSelected)
  105. {
  106. GetDlgItemText(IDC_CB_ID, csId);
  107. lstrcpy(pDoc->ppObjs[t]->cId, csId);
  108. lstrcpy(pDoc->ppObjs[t]->cId2, csId2);
  109. lstrcpy(pDoc->ppObjs[t]->cCond, csCond);
  110. pDoc->ppObjs[t]->uiTextFormat &= ~(DT_RIGHT|DT_CENTER|DT_VCENTER|DT_BOTTOM|DT_SINGLELINE);
  111. int idx = wndCbVAlign.GetCurSel();
  112. long l = wndCbVAlign.GetItemData(idx);
  113. pDoc->ppObjs[t]->uiTextFormat |= l;
  114. if (l == DT_VCENTER) pDoc->ppObjs[t]->uiTextFormat |= DT_SINGLELINE;
  115. idx = wndCbHAlign.GetCurSel();
  116. l = wndCbHAlign.GetItemData(idx);
  117. pDoc->ppObjs[t]->uiTextFormat |= l;
  118. }
  119. }
  120. pView->Invalidate();
  121. }
  122. }
  123. BEGIN_MESSAGE_MAP(CPropPage2, CDialog)
  124. //{{AFX_MSG_MAP(CPropPage2)
  125. ON_CBN_SELENDOK(IDC_CB_COND, OnSelendokCbCond)
  126. ON_CBN_SELENDOK(IDC_CB_HALIGN, OnSelendokCbHalign)
  127. ON_CBN_SELENDOK(IDC_CB_ID, OnSelendokCbId)
  128. ON_CBN_SELENDOK(IDC_CB_ID2, OnSelendokCbId2)
  129. ON_CBN_SELENDOK(IDC_CB_VALIGN, OnSelendokCbValign)
  130. //}}AFX_MSG_MAP
  131. END_MESSAGE_MAP()
  132. /////////////////////////////////////////////////////////////////////////////
  133. // CPropPage2 message handlers
  134. BOOL CPropPage2::OnInitDialog() 
  135. {
  136. CDialog::OnInitDialog();
  137. /* wndCbVAlign.SetItemData(wndCbVAlign.AddString("top"), DT_TOP);
  138. wndCbVAlign.SetItemData(wndCbVAlign.AddString("middle"), DT_VCENTER);
  139. wndCbVAlign.SetItemData(wndCbVAlign.AddString("bottom"), DT_BOTTOM);
  140. wndCbHAlign.SetItemData(wndCbHAlign.AddString("left"), DT_LEFT);
  141. wndCbHAlign.SetItemData(wndCbHAlign.AddString("center"), DT_CENTER);
  142. wndCbHAlign.SetItemData(wndCbHAlign.AddString("right"), DT_RIGHT);
  143. wndCbId.AddString("ID TRY 1");
  144. wndCbId.AddString("ID TRY 2");
  145. wndCbId.AddString("ID TRY 3");
  146. wndCbId2.AddString("ID TRY 1");
  147. wndCbId2.AddString("ID TRY 2");
  148. wndCbId2.AddString("ID TRY 3");
  149. wndCbCond.AddString("COND1");
  150. wndCbCond.AddString("COND2");
  151. */
  152. return TRUE;  // return TRUE unless you set the focus to a control
  153.               // EXCEPTION: OCX Property Pages should return FALSE
  154. }
  155. void CPropPage2::OnCancel() { }
  156. void CPropPage2::OnOK() {}
  157. void CPropPage2::OnSelendokCbCond() 
  158. {
  159. UpdateData();
  160. }
  161. void CPropPage2::OnSelendokCbHalign() 
  162. {
  163. UpdateData();
  164. }
  165. void CPropPage2::OnSelendokCbId() 
  166. {
  167. UpdateData();
  168. }
  169. void CPropPage2::OnSelendokCbId2() 
  170. {
  171. UpdateData();
  172. }
  173. void CPropPage2::OnSelendokCbValign() 
  174. {
  175. UpdateData();
  176. }