-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathAppWnd.cpp
128 lines (111 loc) · 2.9 KB
/
AppWnd.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/******************************************************************************
** (C) Chris Oldwood
**
** MODULE: APPWND.CPP
** COMPONENT: The Application.
** DESCRIPTION: CAppWnd class definition.
**
*******************************************************************************
*/
#include "Common.hpp"
#include "AppWnd.hpp"
#include "ChkClocksApp.hpp"
/******************************************************************************
** Method: Default constructor.
**
** Description: .
**
** Parameters: None.
**
** Returns: Nothing.
**
*******************************************************************************
*/
CAppWnd::CAppWnd(WCL::IMsgThread& thread, WCL::ICmdController& controller)
: CDlgFrame(IDR_APPICON, m_AppDlg, false)
, m_ToolBar(thread, controller)
{
}
/******************************************************************************
** Method: Destructor.
**
** Description: .
**
** Parameters: None.
**
** Returns: Nothing.
**
*******************************************************************************
*/
CAppWnd::~CAppWnd()
{
}
/******************************************************************************
** Method: OnCreate()
**
** Description: Creates the toolbar and status bars.
**
** Parameters: rcClient The client rectangle.
**
** Returns: Nothing.
**
*******************************************************************************
*/
void CAppWnd::OnCreate(const CRect& rcClient)
{
//
// Create and attach the components.
//
m_Accel.LoadRsc(IDR_APPACCEL);
Accel(&m_Accel);
m_Menu.LoadRsc(IDR_APPMENU);
Menu(&m_Menu);
m_ToolBar.Create(*this, IDC_TOOL_BAR, rcClient);
ToolBar(&m_ToolBar);
m_StatusBar.Create(*this, IDC_STATUS_BAR, rcClient);
StatusBar(&m_StatusBar);
m_AppDlg.RunModeless(*this);
// Call base class.
CDlgFrame::OnCreate(rcClient);
}
/******************************************************************************
** Method: ProcessMsg()
**
** Description: Show default status bar text if moving over main window/dialog
** or its children.
**
** Parameters: rMsg The message.
**
** Returns: true or false.
**
*******************************************************************************
*/
bool CAppWnd::ProcessMsg(MSG& rMsg)
{
// Only interested in mouse moves over the main window/dialog
if ( (rMsg.message == WM_MOUSEMOVE)
&& ((rMsg.hwnd == Handle()) || (rMsg.hwnd == m_AppDlg.Handle())
|| (::GetParent(rMsg.hwnd) == m_AppDlg.Handle())) )
{
// Show default status message.
m_StatusBar.Hint(App.m_strDefStatus);
}
// Forward to base class.
return CDlgFrame::ProcessMsg(rMsg);
}
/******************************************************************************
** Method: OnClose()
**
** Description: Window closing.
**
** Parameters: None.
**
** Returns: Nothing.
**
*******************************************************************************
*/
void CAppWnd::OnClose()
{
// Fetch windows final placement.
App.m_rcLastPos = Placement();
}