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
|
// **********************************************************************
//
// Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************
#include "stdafx.h"
#include "HelloServer.h"
#include "HelloServerDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
CHelloServerDlg::CHelloServerDlg(const Ice::CommunicatorPtr& communicator, const LogIPtr& log,
CWnd* pParent /*=NULL*/) :
CDialog(CHelloServerDlg::IDD, pParent), _communicator(communicator), _log(log)
{
_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void
CHelloServerDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CHelloServerDlg, CDialog)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_SHUTDOWN, OnShutdown)
ON_BN_CLICKED(IDC_CLEAR, OnClear)
END_MESSAGE_MAP()
BOOL
CHelloServerDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(_hIcon, TRUE); // Set big icon
SetIcon(_hIcon, FALSE); // Set small icon
//
// Retrieve the edit control.
//
_edit = (CEdit*)GetDlgItem(IDC_LOG);
_log->setControl(_edit);
//
// Set the focus to the shutdown button, so that the text in the log
// is not initially highlighted.
//
((CButton*)GetDlgItem(IDC_SHUTDOWN))->SetFocus();
return FALSE; // return FALSE because we explicitly set the focus
}
void
CHelloServerDlg::OnCancel()
{
_log->setControl(0);
CDialog::OnCancel();
}
// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
// this is automatically done for you by the framework.
void
CHelloServerDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, _hIcon);
}
else
{
CDialog::OnPaint();
}
}
// The system calls this function to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR
CHelloServerDlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(_hIcon);
}
void
CHelloServerDlg::OnShutdown()
{
EndDialog(0);
}
void
CHelloServerDlg::OnClear()
{
_edit->SetWindowText(CString(""));
}
|