source: chevmsgr/trunk/msvc14/ChevMsgrClient_MFC/ChevMsgrClient_MFCDlg.cpp@ 14

Last change on this file since 14 was 14, checked in by cheese, 9 years ago

테스트 코드 추가
UI 모양 작업
채팅되는 상태까지 확인

File size: 3.6 KB
Line 
1
2// ChevMsgrClient_MFCDlg.cpp : ±¸Çö ÆÄÀÏ
3//
4
5#include "stdafx.h"
6#include "ChevMsgrClient_MFC.h"
7#include "ChevMsgrClient_MFCDlg.h"
8#include "afxdialogex.h"
9
10#include "LoginDlg.h"
11#include "RegisterDlg.h"
12#include "SMSDlg.h"
13
14#ifdef _DEBUG
15#define new DEBUG_NEW
16#endif
17
18
19// ÀÀ¿ë ÇÁ·Î±×·¥ Á¤º¸¿¡ »ç¿ëµÇ´Â CAboutDlg ´ëÈ­ »óÀÚÀÔ´Ï´Ù.
20
21class CAboutDlg : public CDialogEx
22{
23public:
24 CAboutDlg();
25
26// ´ëÈ­ »óÀÚ µ¥ÀÌÅÍÀÔ´Ï´Ù.
27#ifdef AFX_DESIGN_TIME
28 enum { IDD = IDD_ABOUTBOX };
29#endif
30
31 protected:
32 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV Áö¿øÀÔ´Ï´Ù.
33
34// ±¸ÇöÀÔ´Ï´Ù.
35protected:
36 DECLARE_MESSAGE_MAP()
37};
38
39CAboutDlg::CAboutDlg() : CDialogEx(IDD_ABOUTBOX)
40{
41}
42
43void CAboutDlg::DoDataExchange(CDataExchange* pDX)
44{
45 CDialogEx::DoDataExchange(pDX);
46}
47
48BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)
49END_MESSAGE_MAP()
50
51
52// CChevMsgrClient_MFCDlg ´ëÈ­ »óÀÚ
53
54
55
56CChevMsgrClient_MFCDlg::CChevMsgrClient_MFCDlg(CWnd* pParent /*=NULL*/)
57 : CDialogEx(IDD_CHEVMSGRCLIENT_MFC_DIALOG, pParent)
58{
59 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
60}
61
62void CChevMsgrClient_MFCDlg::DoDataExchange(CDataExchange* pDX)
63{
64 CDialogEx::DoDataExchange(pDX);
65}
66
67BEGIN_MESSAGE_MAP(CChevMsgrClient_MFCDlg, CDialogEx)
68 ON_WM_SYSCOMMAND()
69 ON_WM_PAINT()
70 ON_WM_QUERYDRAGICON()
71END_MESSAGE_MAP()
72
73
74// CChevMsgrClient_MFCDlg ¸Þ½ÃÁö 󸮱â
75
76BOOL CChevMsgrClient_MFCDlg::OnInitDialog()
77{
78 CDialogEx::OnInitDialog();
79
80 // ½Ã½ºÅÛ ¸Þ´º¿¡ "Á¤º¸..." ¸Þ´º Ç׸ñÀ» Ãß°¡ÇÕ´Ï´Ù.
81
82 // IDM_ABOUTBOX´Â ½Ã½ºÅÛ ¸í·É ¹üÀ§¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.
83 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
84 ASSERT(IDM_ABOUTBOX < 0xF000);
85
86 CMenu* pSysMenu = GetSystemMenu(FALSE);
87 if (pSysMenu != NULL)
88 {
89 BOOL bNameValid;
90 CString strAboutMenu;
91 bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
92 ASSERT(bNameValid);
93 if (!strAboutMenu.IsEmpty())
94 {
95 pSysMenu->AppendMenu(MF_SEPARATOR);
96 pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
97 }
98 }
99
100 // ÀÌ ´ëÈ­ »óÀÚÀÇ ¾ÆÀÌÄÜÀ» ¼³Á¤ÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ÁÖ Ã¢ÀÌ ´ëÈ­ »óÀÚ°¡ ¾Æ´Ò °æ¿ì¿¡´Â
101 // ÇÁ·¹ÀÓ¿öÅ©°¡ ÀÌ ÀÛ¾÷À» ÀÚµ¿À¸·Î ¼öÇàÇÕ´Ï´Ù.
102 SetIcon(m_hIcon, TRUE); // Å« ¾ÆÀÌÄÜÀ» ¼³Á¤ÇÕ´Ï´Ù.
103 SetIcon(m_hIcon, FALSE); // ÀÛÀº ¾ÆÀÌÄÜÀ» ¼³Á¤ÇÕ´Ï´Ù.
104
105 // TODO: ¿©±â¿¡ Ãß°¡ ÃʱâÈ­ ÀÛ¾÷À» Ãß°¡ÇÕ´Ï´Ù.
106
107 CLoginDlg loginDlg;
108 CSMSDlg smsDlg;
109 CRegisterDlg regDlg;
110
111 loginDlg.DoModal();
112
113 return TRUE; // Æ÷Ä¿½º¸¦ ÄÁÆ®·Ñ¿¡ ¼³Á¤ÇÏÁö ¾ÊÀ¸¸é TRUE¸¦ ¹ÝȯÇÕ´Ï´Ù.
114}
115
116void CChevMsgrClient_MFCDlg::OnSysCommand(UINT nID, LPARAM lParam)
117{
118 if ((nID & 0xFFF0) == IDM_ABOUTBOX)
119 {
120 CAboutDlg dlgAbout;
121 dlgAbout.DoModal();
122 }
123 else
124 {
125 CDialogEx::OnSysCommand(nID, lParam);
126 }
127}
128
129// ´ëÈ­ »óÀÚ¿¡ ÃÖ¼ÒÈ­ ´ÜÃ߸¦ Ãß°¡ÇÒ °æ¿ì ¾ÆÀÌÄÜÀ» ±×¸®·Á¸é
130// ¾Æ·¡ Äڵ尡 ÇÊ¿äÇÕ´Ï´Ù. ¹®¼­/ºä ¸ðµ¨À» »ç¿ëÇÏ´Â MFC ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ °æ¿ì¿¡´Â
131// ÇÁ·¹ÀÓ¿öÅ©¿¡¼­ ÀÌ ÀÛ¾÷À» ÀÚµ¿À¸·Î ¼öÇàÇÕ´Ï´Ù.
132
133void CChevMsgrClient_MFCDlg::OnPaint()
134{
135 if (IsIconic())
136 {
137 CPaintDC dc(this); // ±×¸®±â¸¦ À§ÇÑ µð¹ÙÀ̽º ÄÁÅؽºÆ®ÀÔ´Ï´Ù.
138
139 SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
140
141 // Ŭ¶óÀ̾ðÆ® »ç°¢Çü¿¡¼­ ¾ÆÀÌÄÜÀ» °¡¿îµ¥¿¡ ¸ÂÃä´Ï´Ù.
142 int cxIcon = GetSystemMetrics(SM_CXICON);
143 int cyIcon = GetSystemMetrics(SM_CYICON);
144 CRect rect;
145 GetClientRect(&rect);
146 int x = (rect.Width() - cxIcon + 1) / 2;
147 int y = (rect.Height() - cyIcon + 1) / 2;
148
149 // ¾ÆÀÌÄÜÀ» ±×¸³´Ï´Ù.
150 dc.DrawIcon(x, y, m_hIcon);
151 }
152 else
153 {
154 CDialogEx::OnPaint();
155 }
156}
157
158// »ç¿ëÀÚ°¡ ÃÖ¼ÒÈ­µÈ âÀ» ²ô´Â µ¿¾È¿¡ Ä¿¼­°¡ Ç¥½ÃµÇµµ·Ï ½Ã½ºÅÛ¿¡¼­
159// ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù.
160HCURSOR CChevMsgrClient_MFCDlg::OnQueryDragIcon()
161{
162 return static_cast<HCURSOR>(m_hIcon);
163}
164
Note: See TracBrowser for help on using the repository browser.