StartView.cpp 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609
  1. /**************************************************************************************************
  2. 版本所有(C), 2020-2022, 北京普达迪泰
  3. ***************************************************************************************************
  4. 文 件 名: StartView.cpp:
  5. 功能描述: “开始”UI
  6. 版 本 号: 1.00初版
  7. 作 者: HYF
  8. 生成日期; 2021-12-20
  9. 最近修改:
  10. 函数列表:
  11. 修改历史:
  12. 1.日 期 :2021-12-20
  13. 作 者 : HYF
  14. 修改内容 : 创建文件
  15. **************************************************************************************************/
  16. #include "pch.h"
  17. #include "MainFrm.h"
  18. // SHARED_HANDLERS 可以在实现预览、缩略图和搜索筛选器句柄的
  19. // ATL 项目中进行定义,并允许与该项目共享文档代码。
  20. #ifndef SHARED_HANDLERS
  21. #include "Dms.h"
  22. #endif
  23. #include "resource.h"
  24. #include "DmsDoc.h"
  25. #include "StartView.h"
  26. #include "EquipTypeView.h"
  27. #include "EquipTypeManager.h"
  28. #include "ReportView.h"
  29. #include "TaskManager.h"
  30. #include "CppSQLite3.h"
  31. #include "StaticReport.h"
  32. #include "DynamicReport.h"
  33. #include "Task.h"
  34. #include "IPNDlg.h"
  35. #include "GuideDlg.h"
  36. #include "DictView.h"
  37. #ifdef _DEBUG
  38. #define new DEBUG_NEW
  39. #endif
  40. // 秒定时器:用于显示当前时间
  41. #define TIMER_NOW 100
  42. // CStartView
  43. IMPLEMENT_DYNCREATE(CStartView, CFormView)
  44. BEGIN_MESSAGE_MAP(CStartView, CFormView)
  45. ON_BN_CLICKED(IDC_BTN_START, &CStartView::OnBnClickedBtnStart)
  46. ON_WM_TIMER()
  47. ON_BN_CLICKED(IDC_RADIO_TASK_TYPE1, &CStartView::OnBnClickedRadioTaskType1)
  48. ON_BN_CLICKED(IDC_RADIO_TASK_TYPE2, &CStartView::OnBnClickedRadioTaskType2)
  49. ON_STN_CLICKED(IDC_STATIC_EQUIPMENT, &CStartView::OnStnClickedStaticEquipment)
  50. ON_STN_CLICKED(IDC_STATIC_REPORT, &CStartView::OnStnClickedStaticReport)
  51. ON_NOTIFY(NM_DBLCLK, IDC_CUSTOM_GRID_CTRL, OnDBRecentTaskClick)
  52. ON_WM_CREATE()
  53. ON_STN_CLICKED(IDC_STATIC_REL_GUIDE, &CStartView::OnStnClickedStaticRelGuide)
  54. ON_STN_CLICKED(IDC_STATIC_REL_FNL, &CStartView::OnStnClickedStaticRelFnl)
  55. ON_WM_CTLCOLOR()
  56. ON_STN_CLICKED(IDC_STATIC_CONFIG, &CStartView::OnStnClickedDictConfig)
  57. END_MESSAGE_MAP()
  58. // CStartView 构造/析构
  59. CStartView::CStartView()
  60. : CFormView(IDD_VIEW_START)
  61. ,m_iTaskType(0)
  62. , m_szEquipCode(_T(""))
  63. , m_szTaskDesc(_T(""))
  64. {
  65. m_BkBrush.CreateSolidBrush(RGB(247, 247, 247));
  66. }
  67. CStartView::~CStartView()
  68. {
  69. }
  70. void CStartView::DoDataExchange(CDataExchange* pDX)
  71. {
  72. CFormView::DoDataExchange(pDX);
  73. DDX_Control(pDX, IDC_STATIC_START_TITLE, m_Static_Title);
  74. DDX_Control(pDX, IDC_STATIC_TASK_TITLE, m_Static_TaskTitle);
  75. DDX_Control(pDX, IDC_COMBO_EQUIPMENT_TYPE, m_Combo_EquipmentType);
  76. DDX_Control(pDX, IDC_STATIC_EQUIPMENT, m_Static_EquipmentFunc);
  77. DDX_Control(pDX, IDC_STATIC_REPORT, m_Static_ReportFunc);
  78. DDX_Control(pDX, IDC_STATIC_DECLARATION, m_Static_Support);
  79. DDX_Radio(pDX, IDC_RADIO_TASK_TYPE1, m_iTaskType);
  80. DDX_Control(pDX, IDC_STATIC_RELATED, m_Static_Related);
  81. DDX_Text(pDX, IDC_EDT_EQUIP_CODE, m_szEquipCode);
  82. DDX_Text(pDX, IDC_EDIT_TASK_DESC, m_szTaskDesc);
  83. DDX_Control(pDX, IDC_CUSTOM_GRID_CTRL, m_GridCtrl);
  84. DDX_Control(pDX, IDC_STATIC_RECENT, m_Static_Recent);
  85. DDX_Control(pDX, IDC_STATIC_REL_GUIDE, m_Label_Rel_Guide);
  86. DDX_Control(pDX, IDC_STATIC_REL_FNL, m_Label_Rel_Fnl);
  87. DDX_Control(pDX, IDC_STATIC_CONFIG, m_Static_Ctrl_Dict);
  88. }
  89. BOOL CStartView::PreCreateWindow(CREATESTRUCT& cs)
  90. {
  91. // CREATESTRUCT cs 来修改窗口类或样式
  92. return CFormView::PreCreateWindow(cs);
  93. }
  94. /**************************************************************************************************
  95. 函 数 名 :OnCreate
  96. 功能描述 :消息处理-Create
  97. 输入参数 :无
  98. 输出参数 :无
  99. 返 回 值 :void
  100. **************************************************************************************************/
  101. int CStartView::OnCreate(LPCREATESTRUCT lpCreateStruct)
  102. {
  103. if (CFormView::OnCreate(lpCreateStruct) == -1)
  104. return -1;
  105. m_pDoc = (CDmsDoc *)GetDocument();
  106. ASSERT(m_pDoc != NULL);
  107. ASSERT(m_pDoc->IsKindOf(RUNTIME_CLASS(CDmsDoc)));
  108. return 0;
  109. }
  110. /**************************************************************************************************
  111. 函 数 名 :OnInitialUpdate
  112. 功能描述 :初始化UI显示
  113. 输入参数 :无
  114. 输出参数 :无
  115. 返 回 值 :void
  116. **************************************************************************************************/
  117. void CStartView::OnInitialUpdate()
  118. {
  119. CFormView::OnInitialUpdate();
  120. // 设置界面显示的文字样式
  121. m_Static_Title.SetFontSize(28);
  122. m_Static_Title.SetFontBold(TRUE);
  123. // 根据条件启动任务
  124. m_Static_TaskTitle.SetFontSize(18);
  125. m_Static_TaskTitle.SetFontBold(TRUE);
  126. // 技术支持
  127. m_Static_Support.SetTextColor(RGB(42, 130, 228));
  128. m_Static_Support.SetFontSize(14);
  129. // 相关功能
  130. m_Static_Related.SetFontSize(16);
  131. m_Static_Related.SetFontBold(TRUE);
  132. // 设备管理
  133. m_Static_EquipmentFunc.SetFontSize(13);
  134. m_Static_EquipmentFunc.SetLink(TRUE);
  135. m_Static_EquipmentFunc.SetTextColor(RGB(42, 130, 228));
  136. m_Static_EquipmentFunc.SetLinkCursor(AfxGetApp()->LoadCursor(IDC_HAND_CURSOR));
  137. // 测量报告
  138. m_Static_ReportFunc.SetFontSize(13);
  139. m_Static_ReportFunc.SetLink(TRUE);
  140. m_Static_ReportFunc.SetTextColor(RGB(42, 130, 228));
  141. m_Static_ReportFunc.SetLinkCursor(AfxGetApp()->LoadCursor(IDC_HAND_CURSOR));
  142. // 测量引导
  143. m_Label_Rel_Guide.SetFontSize(13);
  144. m_Label_Rel_Guide.SetLink(TRUE);
  145. m_Label_Rel_Guide.SetTextColor(RGB(42, 130, 228));
  146. m_Label_Rel_Guide.SetLinkCursor(AfxGetApp()->LoadCursor(IDC_HAND_CURSOR));
  147. // 网形优化
  148. m_Label_Rel_Fnl.SetFontSize(13);
  149. m_Label_Rel_Fnl.SetLink(TRUE);
  150. m_Label_Rel_Fnl.SetTextColor(RGB(42, 130, 228));
  151. m_Label_Rel_Fnl.SetLinkCursor(AfxGetApp()->LoadCursor(IDC_HAND_CURSOR));
  152. // 网形优化
  153. m_Static_Ctrl_Dict.SetFontSize(13);
  154. m_Static_Ctrl_Dict.SetLink(TRUE);
  155. m_Static_Ctrl_Dict.SetTextColor(RGB(42, 130, 228));
  156. m_Static_Ctrl_Dict.SetLinkCursor(AfxGetApp()->LoadCursor(IDC_HAND_CURSOR));
  157. // 启动定时器
  158. SetTimer(TIMER_NOW, 1000, NULL);
  159. // 最近任务
  160. m_Static_Recent.SetFontSize(16);
  161. m_Static_Recent.SetFontBold(TRUE);
  162. // 初始化UI数据;
  163. this->InitFormData();
  164. // 更新UI显示
  165. GetParentFrame()->RecalcLayout();
  166. ResizeParentToFit();
  167. // 更改GridCtrl风格
  168. ::SetWindowLong(m_GridCtrl.m_hWnd, GWL_STYLE, GetWindowLong(m_GridCtrl.m_hWnd, GWL_STYLE)&~WS_BORDER);
  169. // 初始化设备型号下拉选择
  170. InitEquipTypeList();
  171. }
  172. /**************************************************************************************************
  173. 函 数 名 :InitFormData
  174. 功能描述 :初始化UI数据
  175. 输入参数 :无
  176. 输出参数 :无
  177. 返 回 值 :void
  178. **************************************************************************************************/
  179. void CStartView::InitFormData()
  180. {
  181. // 初始化“最近任务”
  182. InitRecentTaskList();
  183. }
  184. /**************************************************************************************************
  185. 函 数 名 :ResetFormData
  186. 功能描述 :重置UI展示数据
  187. 输入参数 :无
  188. 输出参数 :无
  189. 返 回 值 :void
  190. **************************************************************************************************/
  191. void CStartView::ResetFormData()
  192. {
  193. }
  194. /**************************************************************************************************
  195. 函 数 名 :InitEquipTypeList
  196. 功能描述 :初始化设备型号下拉选择列表
  197. 输出参数 :无
  198. 返 回 值 :CppSQLite3Query
  199. **************************************************************************************************/
  200. void CStartView::InitEquipTypeList()
  201. {
  202. m_Combo_EquipmentType.ResetContent();
  203. EquipTypeManager *pManager = m_pDoc->GetEquipTypeManager();
  204. CppSQLite3Query q = pManager->Query();
  205. bool bFlag = q.eof();
  206. while (!q.eof()) {
  207. CString szEquipTypeCode = q.getStringField("equip_type_code");
  208. m_Combo_EquipmentType.AddString(szEquipTypeCode);
  209. q.nextRow();
  210. }
  211. q.finalize();
  212. if (!bFlag) m_Combo_EquipmentType.SetCurSel(0);
  213. }
  214. // CStartView 诊断
  215. #ifdef _DEBUG
  216. void CStartView::AssertValid() const
  217. {
  218. CFormView::AssertValid();
  219. }
  220. void CStartView::Dump(CDumpContext& dc) const
  221. {
  222. CFormView::Dump(dc);
  223. }
  224. #endif //_DEBUG
  225. /**************************************************************************************************
  226. 函 数 名 :OnUpdate
  227. 功能描述 :数据变更,更新UI
  228. 输入参数 :无
  229. 输出参数 :无
  230. 返 回 值 :void
  231. **************************************************************************************************/
  232. void CStartView::OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/)
  233. {
  234. this->InitEquipTypeList();
  235. }
  236. /**************************************************************************************************
  237. 函 数 名 :OnTimer
  238. 功能描述 :定时器消息处理
  239. 输入参数 :无
  240. 输出参数 :无
  241. 返 回 值 :void
  242. **************************************************************************************************/
  243. void CStartView::OnTimer(UINT_PTR nIDEvent)
  244. {
  245. CTime tTime = CTime::GetCurrentTime();
  246. switch (nIDEvent) {
  247. case TIMER_NOW:
  248. m_szTimeNow = tTime.Format(_T("%Y-%m-%d %H:%M:%S"));
  249. break;
  250. }
  251. CFormView::OnTimer(nIDEvent);
  252. }
  253. // 事件处理:设置任务测量类型为:0 静态测量
  254. void CStartView::OnBnClickedRadioTaskType1()
  255. {
  256. m_iTaskType = 0;
  257. }
  258. // 事件处理: 设置任务测量类型为:1 动态测量
  259. void CStartView::OnBnClickedRadioTaskType2()
  260. {
  261. m_iTaskType = 1;
  262. }
  263. /**************************************************************************************************
  264. 函 数 名 :OnBnClickedBtnStart
  265. 功能描述 :事件处理-启动任务
  266. 输入参数 :无
  267. 输出参数 :无
  268. 返 回 值 :void
  269. **************************************************************************************************/
  270. void CStartView::OnBnClickedBtnStart()
  271. {
  272. this->UpdateData(TRUE);
  273. int idx = m_Combo_EquipmentType.GetCurSel();
  274. CString szEquipTypeCode;
  275. m_Combo_EquipmentType.GetLBText(idx, szEquipTypeCode);
  276. if (szEquipTypeCode.IsEmpty()) {
  277. MessageBox(_T("设备型号不能为空"));
  278. return;
  279. }
  280. if (m_szEquipCode.IsEmpty()) {
  281. MessageBox(_T("设备编号不能为空"));
  282. return;
  283. }
  284. TaskManager* taskManager = m_pDoc->GetTaskManager();
  285. // 采用64位时间戳作为任务ID
  286. CTime tm;
  287. tm = CTime::GetCurrentTime();//获取系统日期
  288. CString szTaskTime = tm.Format("%Y-%m-%d %H:%M:%S");
  289. CString szTaskTitle;
  290. if (m_iTaskType == 0)
  291. szTaskTitle.Format("%s-%s", m_szEquipCode, _T("零位测量"));
  292. else
  293. szTaskTitle.Format("%s-%s", m_szEquipCode, _T("位姿测量"));
  294. Task task;
  295. task.SetTaskTime(szTaskTime);
  296. task.SetEquipTypeCode(szEquipTypeCode);
  297. task.SetEquipCode(m_szEquipCode);
  298. task.SetTaskTitle(szTaskTitle);
  299. task.SetTaskDesc(m_szTaskDesc);
  300. task.SetTaskType(m_iTaskType);
  301. DWORD taskId = taskManager->Add(task);
  302. if (taskId <= 0) {
  303. MessageBox(_T("任务启动失败!"));
  304. return;
  305. }
  306. CMainFrame *pMain = (CMainFrame*)AfxGetApp()->m_pMainWnd;
  307. if (m_iTaskType == 0)
  308. ::PostMessage(pMain->m_hWnd, WM_START_STATIC, (WPARAM)taskId, NULL);
  309. else
  310. ::PostMessage(pMain->m_hWnd, WM_START_DYNAMIC, (WPARAM)taskId, NULL);
  311. }
  312. /**************************************************************************************************
  313. 函 数 名 :OnStnClickedStaticEquipment
  314. 功能描述 :事件处理-打开设备管理
  315. 输入参数 :无
  316. 输出参数 :无
  317. 返 回 值 :void
  318. **************************************************************************************************/
  319. void CStartView::OnStnClickedStaticEquipment()
  320. {
  321. EquipTypeView dlg;
  322. if (dlg.DoModal() == IDOK) {
  323. }
  324. }
  325. /**************************************************************************************************
  326. 函 数 名 :OnStnClickedStaticEquipment
  327. 功能描述 :事件处理--打开测量报告
  328. 输入参数 :无
  329. 输出参数 :无
  330. 返 回 值 :void
  331. **************************************************************************************************/
  332. void CStartView::OnStnClickedStaticReport()
  333. {
  334. ReportView dlg;
  335. if (dlg.DoModal() == IDOK) {
  336. }
  337. }
  338. /**************************************************************************************************
  339. 函 数 名 :InitRecentTaskList
  340. 功能描述 :最近任务
  341. 输入参数 :无
  342. 输出参数 :无
  343. 返 回 值 :void
  344. **************************************************************************************************/
  345. void CStartView::InitRecentTaskList()
  346. {
  347. m_GridCtrl.DeleteAllItems();
  348. m_GridCtrl.SetGridLines(GVL_NONE);
  349. m_GridCtrl.SetEditable(FALSE);
  350. m_GridCtrl.SetSingleRowSelection(TRUE);
  351. m_GridCtrl.SetFrameFocusCell(FALSE);
  352. m_GridCtrl.SetSingleColSelection(FALSE);
  353. m_GridCtrl.EnableHiddenColUnhide(TRUE);
  354. m_GridCtrl.GetDefaultCell(FALSE, FALSE)->SetBackClr(RGB(247, 247, 247));
  355. m_GridCtrl.SetBkColor(RGB(247, 247, 247));
  356. m_GridCtrl.SetAutoSizeStyle();
  357. TRY
  358. {
  359. m_GridCtrl.SetRowCount(20);
  360. m_GridCtrl.SetColumnCount(3);
  361. m_GridCtrl.SetFixedRowCount(0);
  362. m_GridCtrl.SetFixedColumnCount(0);
  363. m_GridCtrl.SetColumnWidth(0, 30);
  364. m_GridCtrl.SetColumnWidth(1, 160);
  365. m_GridCtrl.SetColumnWidth(2, 130);
  366. }
  367. CATCH(CMemoryException, e)
  368. {
  369. e->ReportError();
  370. return;
  371. }
  372. END_CATCH
  373. // Get the font
  374. CFont* pFont = m_GridCtrl.GetFont();
  375. LOGFONT lf;
  376. pFont->GetLogFont(&lf);
  377. // Make it true-type
  378. memcpy(lf.lfFaceName, _T("Arial"), 6);
  379. // Set the fixed row defaults as this new font
  380. m_GridCtrl.GetDefaultCell(TRUE, FALSE)->SetFont(&lf);
  381. CString str;
  382. /**
  383. GV_ITEM ItemTitle;
  384. ItemTitle.mask = GVIF_TEXT | GVIF_FORMAT;
  385. ItemTitle.nBorder = GVIS_BDR_BOTTOM;
  386. ItemTitle.nFormat = DT_SINGLELINE | DT_VCENTER;
  387. ItemTitle.row = 0;
  388. ItemTitle.col = 0;
  389. ItemTitle.nFormat |= DT_CENTER;
  390. ItemTitle.strText = _T("序号");
  391. m_GridCtrl.SetItem(&ItemTitle);
  392. ItemTitle.row = 0;
  393. ItemTitle.col = 1;
  394. ItemTitle.nFormat |= DT_CENTER;
  395. ItemTitle.strText = _T("测量任务");
  396. m_GridCtrl.SetItem(&ItemTitle);
  397. ItemTitle.row = 0;
  398. ItemTitle.col = 2;
  399. ItemTitle.nFormat |= DT_CENTER;
  400. ItemTitle.strText = _T("测量时间");
  401. m_GridCtrl.SetItem(&ItemTitle);
  402. **/
  403. // POINT数据访问入口
  404. TaskManager *pTaskManager = m_pDoc->GetTaskManager();
  405. ASSERT(pTaskManager != NULL);
  406. GV_ITEM Item;
  407. Item.mask = GVIF_TEXT | GVIF_FORMAT;
  408. Item.nFormat = DT_SINGLELINE | DT_VCENTER;
  409. int iRow = 0;
  410. int iIndex = 0;
  411. CppSQLite3Query q = pTaskManager->QueryByRecent();
  412. while (!q.eof()) {
  413. iIndex += 1;
  414. // 序号
  415. Item.row = iRow;
  416. Item.col = 0;
  417. Item.nFormat |= DT_CENTER;
  418. str.Format("%d", iIndex);
  419. Item.strText = str;
  420. m_GridCtrl.SetItem(&Item);
  421. LPARAM taskId = (LPARAM)q.getIntField("task_id");
  422. m_GridCtrl.SetItemData(iRow, 0, (LPARAM)taskId);
  423. // 任务名称
  424. Item.row = iRow;
  425. Item.col = 1;
  426. Item.nFormat |= DT_CENTER;
  427. str.Format("%s", q.getStringField("task_title"));
  428. Item.strText = str;
  429. m_GridCtrl.SetItem(&Item);
  430. DWORD taskType = q.getIntField("task_type");
  431. m_GridCtrl.SetItemData(iRow, 1, (LPARAM)taskType);
  432. // 执行时间
  433. Item.row = iRow;
  434. Item.col = 2;
  435. Item.nFormat |= DT_CENTER;
  436. str.Format("%s", q.getStringField("task_time"));
  437. Item.strText = str;
  438. m_GridCtrl.SetItem(&Item);
  439. iRow++;
  440. q.nextRow();
  441. }
  442. q.finalize();
  443. m_GridCtrl.ShowScrollBar(SB_BOTH, FALSE);
  444. //m_GridCtrl.AutoFill();
  445. }
  446. /**************************************************************************************************
  447. 函 数 名 :OnStnClickedStaticRelGuide
  448. 功能描述 :测量引导
  449. 输入参数 :无
  450. 输出参数 :无
  451. 返 回 值 :void
  452. **************************************************************************************************/
  453. void CStartView::OnStnClickedStaticRelGuide()
  454. {
  455. GuideDlg dlg;
  456. dlg.DoModal();
  457. }
  458. /**************************************************************************************************
  459. 函 数 名 :OnStnClickedStaticRelFnl
  460. 功能描述 :网形优化
  461. 输入参数 :无
  462. 输出参数 :无
  463. 返 回 值 :void
  464. **************************************************************************************************/
  465. void CStartView::OnStnClickedStaticRelFnl()
  466. {
  467. IPNDlg dlg;
  468. dlg.DoModal();
  469. }
  470. /**************************************************************************************************
  471. 函 数 名 :OnDBRecentTaskClick
  472. 功能描述 :最近任务详情
  473. 输入参数 :无
  474. 输出参数 :无
  475. 返 回 值 :void
  476. **************************************************************************************************/
  477. void CStartView::OnDBRecentTaskClick(NMHDR *pNMHDR, LRESULT *pResult)
  478. {
  479. NM_GRIDVIEW *pItem = (NM_GRIDVIEW *)pNMHDR;
  480. CString s;
  481. int iRow = pItem->iRow;
  482. int iCol = pItem->iColumn;
  483. DWORD taskId = (DWORD)m_GridCtrl.GetItemData(iRow, 0);
  484. DWORD taskType = (DWORD)m_GridCtrl.GetItemData(iRow, 1);
  485. if (taskType == 0)
  486. {
  487. StaticReport dlg1(this, taskId);
  488. dlg1.DoModal();
  489. }
  490. else
  491. {
  492. DynamicReport dlg2(this, taskId);
  493. dlg2.DoModal();
  494. }
  495. }
  496. HBRUSH CStartView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
  497. {
  498. HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
  499. switch (nCtlColor)
  500. {
  501. case CTLCOLOR_DLG:
  502. hbr = m_BkBrush;
  503. break;
  504. case CTLCOLOR_STATIC:
  505. hbr = m_BkBrush;
  506. break;
  507. }
  508. return hbr;
  509. }
  510. /**************************************************************************************************
  511. 函 数 名 :OnStnClickedDictConfig
  512. 功能描述 :“其它配置”用于配置数据字典
  513. 输入参数 :无
  514. 输出参数 :无
  515. 返 回 值 :void
  516. **************************************************************************************************/
  517. void CStartView::OnStnClickedDictConfig()
  518. {
  519. DictView dlg(this);
  520. dlg.DoModal();
  521. }