DeptDialog.h
上传用户:benben_wyd
上传日期:2010-02-26
资源大小:1229k
文件大小:3k
源码类别:

书籍源码

开发平台:

Visual C++

  1. // DeptDialog.h : Declaration of the CDeptDialog
  2. #ifndef __DEPTDIALOG_H_
  3. #define __DEPTDIALOG_H_
  4. #include "resource.h"       // main symbols
  5. #include <atlhost.h>
  6. //Added by Chuck Wood. Included for error checking
  7. #include "..OLEDBErrorCheckingOLEDBErrorChecking.h"
  8. //Added by Chuck Wood. Included for database support
  9. #include "Department.H"
  10. /////////////////////////////////////////////////////////////////////////////
  11. // CDeptDialog
  12. class CDeptDialog : 
  13. public CAxDialogImpl<CDeptDialog>
  14. {
  15. public:
  16. CDepartment* m_pSet;
  17. int m_nCurrentRow;
  18. int m_nMaxRows;
  19. enum CPosition{ FIRST = 0,
  20. LAST = 1,
  21. NEXT = 2,
  22. PREV = 3 };
  23. HRESULT SaveDepartment();
  24. void UpdateData(BOOL bSaveChangesToSet = TRUE);
  25. void DisplayStatus(char *strMessage);
  26. void OnMove(CPosition position);
  27. CDeptDialog()
  28. {
  29. m_pSet = new CDepartment();
  30. DoModal();
  31. }
  32. ~CDeptDialog()
  33. {
  34. m_pSet->Close();
  35. delete m_pSet;
  36. }
  37. enum { IDD = IDD_DEPTDIALOG };
  38. BEGIN_MSG_MAP(CDeptDialog)
  39. MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
  40. COMMAND_ID_HANDLER(ID_FIRST, OnFirst)
  41. COMMAND_ID_HANDLER(ID_PREV, OnPrev)
  42. COMMAND_ID_HANDLER(ID_NEXT, OnNext)
  43. COMMAND_ID_HANDLER(ID_LAST, OnLast)
  44. COMMAND_ID_HANDLER(IDOK, OnExit)
  45. COMMAND_ID_HANDLER(IDCANCEL, OnExit)
  46. END_MSG_MAP()
  47. // Handler prototypes:
  48. //  LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  49. //  LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
  50. //  LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
  51. LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  52. {
  53. HRESULT hr = m_pSet->Open();
  54. if (FAILED(hr)) {
  55. COLEDBErrorChecking::DisplayHRRESULTMessage(hr, "OnInitDialog");
  56. exit(1); //Better not start
  57. }
  58. //Added by Chuck Wood to set array bounds
  59. m_nCurrentRow = 0;
  60. m_nMaxRows = 8;
  61. UpdateData(FALSE); //Write Values to Window
  62. return 1;  // Let the system set the focus
  63. }
  64. LRESULT OnFirst(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
  65. {
  66. OnMove(FIRST);
  67. return 0;
  68. }
  69. LRESULT OnPrev(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
  70. {
  71. OnMove(PREV);
  72. return 0;
  73. }
  74. LRESULT OnNext(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
  75. {
  76. OnMove(NEXT);
  77. return 0;
  78. }
  79. LRESULT OnLast(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
  80. {
  81. OnMove(LAST);
  82. return 0;
  83. }
  84. LRESULT OnExit(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
  85. {
  86. EndDialog(wID);
  87. return 0;
  88. }
  89. };
  90. #endif //__DEPTDIALOG_H_