/[H6]/h6-udlånssystemDlg.cpp
ViewVC logotype

Annotation of /h6-udlånssystemDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 23 - (hide annotations) (download)
Fri Sep 1 02:42:38 2006 UTC (17 years, 7 months ago) by torben
File size: 4204 byte(s)
Nicer error handling at DB connection failure
1 torben 1 // h6-udlånssystemDlg.cpp : implementation file
2     //
3    
4     #include "stdafx.h"
5     #include "h6-udlånssystem.h"
6     #include "h6-udlånssystemDlg.h"
7 torben 3 #include ".\h6-udlånssystemdlg.h"
8 torben 1
9 torben 9 #include "commonstorage.h"
10     #include "databaselayer.h"
11    
12 torben 1 #ifdef _DEBUG
13     #define new DEBUG_NEW
14     #endif
15    
16    
17     // CAboutDlg dialog used for App About
18    
19     class CAboutDlg : public CDialog
20     {
21     public:
22     CAboutDlg();
23    
24     // Dialog Data
25     enum { IDD = IDD_ABOUTBOX };
26    
27     protected:
28     virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
29    
30     // Implementation
31     protected:
32     DECLARE_MESSAGE_MAP()
33     };
34    
35     CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
36     {
37     }
38    
39     void CAboutDlg::DoDataExchange(CDataExchange* pDX)
40     {
41     CDialog::DoDataExchange(pDX);
42     }
43    
44     BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
45     END_MESSAGE_MAP()
46    
47    
48     // Ch6udlnssystemDlg dialog
49    
50    
51    
52     Ch6udlnssystemDlg::Ch6udlnssystemDlg(CWnd* pParent /*=NULL*/)
53     : CDialog(Ch6udlnssystemDlg::IDD, pParent)
54     {
55     m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
56     }
57    
58     void Ch6udlnssystemDlg::DoDataExchange(CDataExchange* pDX)
59     {
60     CDialog::DoDataExchange(pDX);
61 torben 4 DDX_Control(pDX, IDC_TAB, m_tabs);
62 torben 1 }
63    
64     BEGIN_MESSAGE_MAP(Ch6udlnssystemDlg, CDialog)
65     ON_WM_SYSCOMMAND()
66     ON_WM_PAINT()
67     ON_WM_QUERYDRAGICON()
68     //}}AFX_MSG_MAP
69 torben 3 ON_COMMAND(ID_HELP_ABOUT, OnHelpAbout)
70 torben 9 ON_COMMAND(ID_FILE_EXIT, OnFileExit)
71 torben 1 END_MESSAGE_MAP()
72    
73    
74     // Ch6udlnssystemDlg message handlers
75    
76     BOOL Ch6udlnssystemDlg::OnInitDialog()
77     {
78     CDialog::OnInitDialog();
79    
80     // Add "About..." menu item to system menu.
81    
82     // IDM_ABOUTBOX must be in the system command range.
83     ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
84     ASSERT(IDM_ABOUTBOX < 0xF000);
85    
86     CMenu* pSysMenu = GetSystemMenu(FALSE);
87     if (pSysMenu != NULL)
88     {
89     CString strAboutMenu;
90     strAboutMenu.LoadString(IDS_ABOUTBOX);
91     if (!strAboutMenu.IsEmpty())
92     {
93     pSysMenu->AppendMenu(MF_SEPARATOR);
94     pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
95     }
96     }
97    
98     // Set the icon for this dialog. The framework does this automatically
99     // when the application's main window is not a dialog
100     SetIcon(m_hIcon, TRUE); // Set big icon
101     SetIcon(m_hIcon, FALSE); // Set small icon
102    
103 torben 4 m_tabs.InsertItem(0,"Search");
104     m_tabs.InsertItem(1,"Result");
105     m_tabs.InsertItem(2,"Administration");
106     m_tabs.Init();
107     m_tabs.SetCurSel(0);
108    
109 torben 9
110 torben 23 try {
111     DatabaseLayer *dbl = new DatabaseLayer;
112     CommonStorage::Instance()->setDBLayer(dbl);
113     } catch (...) {
114     MessageBox(CString("Could not establish connection to the database server\r\n") +
115     "Please contact your network administrator\r\n" +
116     "(This application shuts down automatically)");
117     OnOK();
118     }
119 torben 9
120    
121 torben 1 // TODO: Add extra initialization here
122    
123     return TRUE; // return TRUE unless you set the focus to a control
124     }
125    
126     void Ch6udlnssystemDlg::OnSysCommand(UINT nID, LPARAM lParam)
127     {
128     if ((nID & 0xFFF0) == IDM_ABOUTBOX)
129     {
130     CAboutDlg dlgAbout;
131     dlgAbout.DoModal();
132     }
133     else
134     {
135     CDialog::OnSysCommand(nID, lParam);
136     }
137     }
138    
139     // If you add a minimize button to your dialog, you will need the code below
140     // to draw the icon. For MFC applications using the document/view model,
141     // this is automatically done for you by the framework.
142    
143     void Ch6udlnssystemDlg::OnPaint()
144     {
145     if (IsIconic())
146     {
147     CPaintDC dc(this); // device context for painting
148    
149     SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
150    
151     // Center icon in client rectangle
152     int cxIcon = GetSystemMetrics(SM_CXICON);
153     int cyIcon = GetSystemMetrics(SM_CYICON);
154     CRect rect;
155     GetClientRect(&rect);
156     int x = (rect.Width() - cxIcon + 1) / 2;
157     int y = (rect.Height() - cyIcon + 1) / 2;
158    
159     // Draw the icon
160     dc.DrawIcon(x, y, m_hIcon);
161     }
162     else
163     {
164     CDialog::OnPaint();
165     }
166     }
167    
168     // The system calls this function to obtain the cursor to display while the user drags
169     // the minimized window.
170     HCURSOR Ch6udlnssystemDlg::OnQueryDragIcon()
171     {
172     return static_cast<HCURSOR>(m_hIcon);
173     }
174 torben 3
175     void Ch6udlnssystemDlg::OnHelpAbout()
176     {
177     MessageBox("DA6H :: Udlånssystem\r\nLavet af:\r\nKevin, Hedin & Torben");
178     }
179 torben 9
180     void Ch6udlnssystemDlg::OnFileExit()
181     {
182     // TODO: Add your command handler code here
183     OnOK();
184     }

  ViewVC Help
Powered by ViewVC 1.1.20