MyPosDlg.cpp
上传用户:sztwq510
上传日期:2013-06-26
资源大小:4045k
文件大小:6k
源码类别:

酒店行业

开发平台:

Java

  1. // MyPosDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "MyPos.h"
  5. #include "MyPosDlg.h"
  6. #include "LogonDlg.h"
  7. #include "Splash.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CAboutDlg dialog used for App About
  15. extern CMyPosApp theApp;
  16. class CAboutDlg : public CDialog
  17. {
  18. public:
  19. CAboutDlg();
  20. // Dialog Data
  21. //{{AFX_DATA(CAboutDlg)
  22. enum { IDD = IDD_ABOUTBOX };
  23. //}}AFX_DATA
  24. // ClassWizard generated virtual function overrides
  25. //{{AFX_VIRTUAL(CAboutDlg)
  26. protected:
  27. virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  28. //}}AFX_VIRTUAL
  29. // Implementation
  30. protected:
  31. //{{AFX_MSG(CAboutDlg)
  32. //}}AFX_MSG
  33. DECLARE_MESSAGE_MAP()
  34. };
  35. CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
  36. {
  37. //{{AFX_DATA_INIT(CAboutDlg)
  38. //}}AFX_DATA_INIT
  39. }
  40. void CAboutDlg::DoDataExchange(CDataExchange* pDX)
  41. {
  42. CDialog::DoDataExchange(pDX);
  43. //{{AFX_DATA_MAP(CAboutDlg)
  44. //}}AFX_DATA_MAP
  45. }
  46. BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
  47. //{{AFX_MSG_MAP(CAboutDlg)
  48. // No message handlers
  49. //}}AFX_MSG_MAP
  50. END_MESSAGE_MAP()
  51. /////////////////////////////////////////////////////////////////////////////
  52. // CMyPosDlg dialog
  53. CMyPosDlg::CMyPosDlg(CWnd* pParent /*=NULL*/)
  54. : CDialog(CMyPosDlg::IDD, pParent)
  55. {
  56. //{{AFX_DATA_INIT(CMyPosDlg)
  57. // NOTE: the ClassWizard will add member initialization here
  58. //}}AFX_DATA_INIT
  59. // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
  60. m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
  61. }
  62. void CMyPosDlg::DoDataExchange(CDataExchange* pDX)
  63. {
  64. CDialog::DoDataExchange(pDX);
  65. //{{AFX_DATA_MAP(CMyPosDlg)
  66. DDX_Control(pDX, IDC_STATIC_USERNAME, m_osUsername);
  67. DDX_Control(pDX, IDC_STATIC_COMPANY, m_osCompany);
  68. DDX_Control(pDX, IDC_TAB1, m_oTab1);
  69. //}}AFX_DATA_MAP
  70. }
  71. BEGIN_MESSAGE_MAP(CMyPosDlg, CDialog)
  72. //{{AFX_MSG_MAP(CMyPosDlg)
  73. ON_WM_SYSCOMMAND()
  74. ON_WM_PAINT()
  75. ON_WM_QUERYDRAGICON()
  76. ON_WM_CREATE()
  77. ON_WM_DESTROY()
  78. ON_WM_CLOSE()
  79. //}}AFX_MSG_MAP
  80. ON_MESSAGE(WM_OFFDUTY,OnMyOffdutyMessage)//Map WM_OFFDUTY message to OnMyMessage function.
  81. END_MESSAGE_MAP()
  82. /////////////////////////////////////////////////////////////////////////////
  83. // CMyPosDlg message handlers
  84. BOOL CMyPosDlg::OnInitDialog()
  85. {
  86. CDialog::OnInitDialog();
  87. // Add "About..." menu item to system menu.
  88. // IDM_ABOUTBOX must be in the system command range.
  89. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
  90. ASSERT(IDM_ABOUTBOX < 0xF000);
  91. CMenu* pSysMenu = GetSystemMenu(FALSE);
  92. if (pSysMenu != NULL)
  93. {
  94. CString strAboutMenu;
  95. strAboutMenu.LoadString(IDS_ABOUTBOX);
  96. if (!strAboutMenu.IsEmpty())
  97. {
  98. pSysMenu->AppendMenu(MF_SEPARATOR);
  99. pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
  100. }
  101. }
  102. // Set the icon for this dialog.  The framework does this automatically
  103. //  when the application's main window is not a dialog
  104. SetIcon(m_hIcon, TRUE); // Set big icon
  105. SetIcon(m_hIcon, FALSE); // Set small icon
  106. // TODO: Add extra initialization here
  107. m_oTab1.AddPage("前台销售", &m_oPosdlg, IDD_DIALOG_POS);
  108. if(theApp.VerifyPower("Stat"))
  109. m_oTab1.AddPage("统计报表", &m_oStatdlg, IDD_DIALOG_STAT);
  110. if(theApp.VerifyPower("Basedoc"))
  111. m_oTab1.AddPage("基础资料", &m_oBasedlg, IDD_DIALOG_BASE);
  112. if(theApp.VerifyPower("Sysmain"))
  113. m_oTab1.AddPage("系统维护", &m_oSysmtdlg, IDD_DIALOG_SYSMT);
  114. m_oTab1.Show();
  115. //Add username and company name to static control.
  116. CString sql;
  117. _RecordsetPtr m_pRecordset; //Must define it in function!!!!
  118. sql="Select COMPANYNAME from COMPANY";
  119. try
  120. m_pRecordset.CreateInstance("ADODB.Recordset");
  121. m_pRecordset->Open((_variant_t)sql,_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
  122. if(!m_pRecordset->adoEOF)
  123. m_osCompany.SetWindowText((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("COMPANYNAME"));
  124. m_pRecordset->Close();
  125. }
  126. catch(_com_error e)///捕捉异常
  127. {
  128. CString stemp;
  129. stemp.Format("[主窗口]获取公司名称出错:%s",e.ErrorMessage());
  130. AfxMessageBox(stemp);
  131. }
  132. m_osUsername.SetWindowText(theApp.name);
  133. /////////////////////////
  134. theApp.pWndoff=m_hWnd;//Must initialize the HWND in OnInitDialog()!!!!
  135. //显示弹出的登录框。
  136. SetTimer(1,1,NULL);
  137.     //m_BMButton2.AutoLoad(IDCANCEL,this);
  138. return TRUE;  // return TRUE  unless you set the focus to a control
  139. }
  140. void CMyPosDlg::OnSysCommand(UINT nID, LPARAM lParam)
  141. {
  142. if ((nID & 0xFFF0) == IDM_ABOUTBOX)
  143. {
  144. CAboutDlg dlgAbout;
  145. dlgAbout.DoModal();
  146. }
  147. else
  148. {
  149. CDialog::OnSysCommand(nID, lParam);
  150. }
  151. }
  152. // If you add a minimize button to your dialog, you will need the code below
  153. //  to draw the icon.  For MFC applications using the document/view model,
  154. //  this is automatically done for you by the framework.
  155. void CMyPosDlg::OnPaint() 
  156. {
  157. if (IsIconic())
  158. {
  159. CPaintDC dc(this); // device context for painting
  160. SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
  161. // Center icon in client rectangle
  162. int cxIcon = GetSystemMetrics(SM_CXICON);
  163. int cyIcon = GetSystemMetrics(SM_CYICON);
  164. CRect rect;
  165. GetClientRect(&rect);
  166. int x = (rect.Width() - cxIcon + 1) / 2;
  167. int y = (rect.Height() - cyIcon + 1) / 2;
  168. // Draw the icon
  169. dc.DrawIcon(x, y, m_hIcon);
  170. }
  171. else
  172. {
  173. CDialog::OnPaint();
  174. }
  175. }
  176. // The system calls this to obtain the cursor to display while the user drags
  177. //  the minimized window.
  178. HCURSOR CMyPosDlg::OnQueryDragIcon()
  179. {
  180. return (HCURSOR) m_hIcon;
  181. }
  182. int CMyPosDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) 
  183. {
  184. if (CDialog::OnCreate(lpCreateStruct) == -1)
  185. return -1;
  186. CSplashWnd::ShowSplashScreen(this);//Add splash screen.
  187. return 0;
  188. }
  189. void CMyPosDlg::OnClose() 
  190. {
  191. if(AfxMessageBox("确定要退出吗?",MB_YESNO)==IDYES)
  192. CDialog::OnClose();
  193. }
  194. void CMyPosDlg::OnMyOffdutyMessage() 
  195. {
  196. EndDialog(1);//Must use this function to close the dialog!!!!!!!!!!
  197. }