ManageDateDlg.cpp 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. // ManageDateDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "vcdemo.h"
  5. #include "ManageDateDlg.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CManageDateDlg dialog
  13. CManageDateDlg::CManageDateDlg(CWnd* pParent /*=NULL*/)
  14. : CDialog(CManageDateDlg::IDD, pParent)
  15. {
  16. //{{AFX_DATA_INIT(CManageDateDlg)
  17. m_sRemark = _T("");
  18. //}}AFX_DATA_INIT
  19. }
  20. void CManageDateDlg::DoDataExchange(CDataExchange* pDX)
  21. {
  22. CDialog::DoDataExchange(pDX);
  23. //{{AFX_DATA_MAP(CManageDateDlg)
  24. DDX_Control(pDX, IDOK, m_ButOk);
  25. DDX_Control(pDX, IDCANCEL, m_ButCancel);
  26. DDX_Control(pDX, IDC_STATIC_Remark, m_Static_Remark);
  27. DDX_Control(pDX, IDC_STATIC_Group, m_ButGroup);
  28. DDX_Text(pDX, IDC_STATIC_Remark, m_sRemark);
  29. //}}AFX_DATA_MAP
  30. }
  31. BEGIN_MESSAGE_MAP(CManageDateDlg, CDialog)
  32. //{{AFX_MSG_MAP(CManageDateDlg)
  33. //}}AFX_MSG_MAP
  34. END_MESSAGE_MAP()
  35. /////////////////////////////////////////////////////////////////////////////
  36. // CManageDateDlg message handlers
  37. BOOL CManageDateDlg::OnInitDialog()
  38. {
  39. CDialog::OnInitDialog();
  40. CRect rect; //按钮的位置和大小
  41. CString sStr;
  42. int iNumber;
  43. iCount=0;
  44. if(iType==0)
  45. {
  46. iNumber=7;
  47. rect.left = 20;
  48. rect.right = rect.left +260;
  49. rect.top = 10;
  50. rect.bottom = rect.top + 30;
  51. m_Static_Remark.MoveWindow(rect);
  52. rect.top=40;
  53. rect.bottom=150;
  54. rect.left=10;
  55. rect.right=285;
  56. m_ButGroup.MoveWindow(rect);
  57. m_sRemark="请选择每周中的那几天发送信息!!";
  58. for(int i=0;i<iNumber;i++)
  59. {
  60. if(i==0)
  61. {
  62. rect.top=50;
  63. rect.bottom=80;
  64. rect.left=30;
  65. rect.right=110;
  66. }
  67. else if(i%3==1)
  68. {
  69. rect.left+=80;
  70. rect.right+=80;
  71. }
  72. else if(i%3==2)
  73. {
  74. rect.left+=80;
  75. rect.right+=80;
  76. }
  77. else
  78. {
  79. rect.top+=30;
  80. rect.bottom+=30;
  81. rect.left-=160;
  82. rect.right-=160;
  83. }
  84. if(i==0)
  85. {
  86. sStr="星期日";
  87. }
  88. else
  89. {
  90. sStr.Format("星期%d",i);
  91. }
  92. m_DayName[i].CreateEx(NULL,
  93. _T("BUTTON"), //说明是生成BUTTON,根据生成的东西不同,要作相应的改动
  94. NULL,
  95. WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX,
  96. rect,
  97. this,
  98. IDC_CHECK_DayName+i);//生成edit控件
  99. SetDlgItemText(IDC_CHECK_DayName+i,sStr);
  100. iCount++;
  101. //显示控件
  102. m_DayName[i].ShowWindow(SW_SHOW);
  103. }
  104. rect.top+=50;
  105. rect.bottom+=50;
  106. m_ButOk.MoveWindow(rect);
  107. rect.left+=150;
  108. rect.right+=150;
  109. m_ButCancel.MoveWindow(rect);
  110. MoveWindow(300,300,300,230,TRUE);
  111. }
  112. else
  113. {
  114. iNumber=31;
  115. rect.left = 20;
  116. rect.right = rect.left +290;
  117. rect.top = 10;
  118. rect.bottom = rect.top + 30;
  119. m_Static_Remark.MoveWindow(rect);
  120. rect.top=40;
  121. rect.bottom=240;
  122. rect.left=10;
  123. rect.right=315;
  124. m_ButGroup.MoveWindow(rect);
  125. m_sRemark="请选择每月中的那几天发送信息!!";
  126. for(int i=0;i<iNumber;i++)
  127. {
  128. if(i==0)
  129. {
  130. rect.top=50;
  131. rect.bottom=80;
  132. rect.left=20;
  133. rect.right=80;
  134. }
  135. else if(i%5==1)
  136. {
  137. rect.left+=60;
  138. rect.right+=60;
  139. }
  140. else if(i%5==2)
  141. {
  142. rect.left+=60;
  143. rect.right+=60;
  144. }
  145. else if(i%5==3)
  146. {
  147. rect.left+=60;
  148. rect.right+=60;
  149. }
  150. else if(i%5==4)
  151. {
  152. rect.left+=60;
  153. rect.right+=50;
  154. }
  155. else
  156. {
  157. rect.left-=240;
  158. rect.right-=230;
  159. rect.top+=25;
  160. rect.bottom+=25;
  161. }
  162. sStr.Format("%d",i+1);
  163. m_DayName[i].CreateEx(NULL,
  164. _T("BUTTON"), //说明是生成BUTTON,根据生成的东西不同,要作相应的改动
  165. NULL,
  166. WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX,
  167. rect,
  168. this,
  169. IDC_CHECK_DayName+i);//生成edit控件
  170. SetDlgItemText(IDC_CHECK_DayName+i,sStr);
  171. iCount++;
  172. //显示控件
  173. m_DayName[i].ShowWindow(SW_SHOW);
  174. }
  175. rect.top+=50;
  176. rect.bottom+=50;
  177. rect.left+=30;
  178. rect.right+=60;
  179. m_ButOk.MoveWindow(rect);
  180. rect.left+=140;
  181. rect.right+=140;
  182. m_ButCancel.MoveWindow(rect);
  183. MoveWindow(300,300,330,320,TRUE);
  184. }
  185. UpdateData(FALSE);
  186. return TRUE; // return TRUE unless you set the focus to a control
  187. // EXCEPTION: OCX Property Pages should return FALSE
  188. }
  189. void CManageDateDlg::OnOK()
  190. {
  191. UpdateData(TRUE);
  192. sFlag="";
  193. iSum=0;
  194. for(int i=0;i<iCount;i++)
  195. {
  196. int iTemp=1;
  197. if(m_DayName[i].GetCheck())
  198. {
  199. for(int j=1;j<=i;j++)
  200. {
  201. iTemp*=2;
  202. }
  203. iSum+=iTemp;
  204. if(!iType)
  205. {
  206. if(i==0)
  207. sFlag+="日,";
  208. else if(i==1)
  209. {
  210. sFlag+="一,";
  211. }
  212. else if(i==2)
  213. {
  214. sFlag+="二,";
  215. }
  216. else if(i==3)
  217. {
  218. sFlag+="三,";
  219. }
  220. else if(i==4)
  221. {
  222. sFlag+="四,";
  223. }
  224. else if(i==5)
  225. {
  226. sFlag+="五,";
  227. }
  228. else if(i==6)
  229. {
  230. sFlag+="六,";
  231. }
  232. }
  233. else
  234. {
  235. CString sTemp;
  236. sTemp.Format("%d",i+1);
  237. sFlag+=sTemp+",";
  238. }
  239. }
  240. }
  241. if(!iSum)
  242. {
  243. AfxMessageBox("请选择发送日期!!!");
  244. return;
  245. }
  246. CDialog::OnOK();
  247. }