// ConnectDlg.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù. // #include "stdafx.h" #include "ConsoleApp.h" #include "ConnectDlg.h" #include "ConnectProxyDlg.h" // CConnectDlg ´ëÈ­ »óÀÚÀÔ´Ï´Ù. #define TIMER_ID_FOCUS 1 IMPLEMENT_DYNAMIC(CConnectDlg, CDialog) CConnectDlg::CConnectDlg(CWnd* pParent /*=NULL*/) : CDialog(CConnectDlg::IDD, pParent) , m_sUserId(_T("")) , m_sPassword(_T("")) , m_bAutoConnect(FALSE) , m_bSavePassword(FALSE) { } CConnectDlg::~CConnectDlg() { } void CConnectDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_STC_LOGO, m_stcLogo); DDX_Text(pDX, IDC_EDT_USERID, m_sUserId); DDX_Text(pDX, IDC_EDT_PASSWORD, m_sPassword); DDX_Check(pDX, IDC_CHK_AUTOCONNECT, m_bAutoConnect); DDX_Check(pDX, IDC_CHK_SAVEPASSWORD, m_bSavePassword); DDX_Control(pDX, IDC_CHK_AUTOCONNECT, m_chkAutoConnect); DDX_Control(pDX, IDC_CHK_SAVEPASSWORD, m_chkSavePassword); } BEGIN_MESSAGE_MAP(CConnectDlg, CDialog) ON_WM_TIMER() ON_BN_CLICKED(IDC_BTN_PROXY, OnBtnProxy) ON_BN_CLICKED(IDC_CHK_AUTOCONNECT, OnChkAutoconnect) END_MESSAGE_MAP() // CConnectDlg ¸Þ½ÃÁö 󸮱âÀÔ´Ï´Ù. BOOL CConnectDlg::OnInitDialog() { CDialog::OnInitDialog(); // m_stcLogo.SetBitmap(::LoadBitmap(AfxGetInstanceHandle(), (LPCSTR)IDB_LOGO)); CenterWindow(); ShowWindow(SW_SHOW); m_nTimer = (UINT)SetTimer(TIMER_ID_FOCUS, 100, 0); CBrush brBkgnd; brBkgnd.CreateSysColorBrush(COLOR_BTNFACE); RECT rc; rc.left = rc.top = 0; rc.right = 147; rc.bottom = 61; CClientDC cdcSrc(this); CClientDC cdcDst(this); HDC hdcSrc = ::CreateCompatibleDC(cdcSrc.m_hDC); HDC hdcDst = ::CreateCompatibleDC(cdcDst.m_hDC); #ifdef _LGU // 2014.07.16 HBITMAP hbmSrc = ::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_LOGO_LGU)); #else // HBITMAP hbmSrc = ::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_LOGO)); #endif // HBITMAP hbmDst = ::CreateCompatibleBitmap(cdcDst.m_hDC, rc.right, rc.bottom); HBITMAP hbmOldSrc = (HBITMAP)SelectObject(hdcSrc, hbmSrc); HBITMAP hbmOldDst = (HBITMAP)SelectObject(hdcDst, hbmDst); ::FillRect(hdcDst, &rc, brBkgnd); TransparentBlt(hdcDst, 0, 0, 144, 36, hdcSrc, 0, 0, 144, 36, RGB(255, 255, 255)); SelectObject(hdcSrc, hbmOldSrc); SelectObject(hdcDst, hbmOldDst); // Attach to Bitmap and Replace image in CImageList m_stcLogo.SetBitmap(hbmDst); DeleteDC(hdcSrc); DeleteDC(hdcDst); DeleteObject(hbmSrc); // DeleteObject(hbmDst); brBkgnd.DeleteObject(); return TRUE; // return TRUE unless you set the focus to a control // ¿¹¿Ü: OCX ¼Ó¼º ÆäÀÌÁö´Â FALSE¸¦ ¹ÝÈ¯ÇØ¾ß ÇÕ´Ï´Ù. } void CConnectDlg::OnTimer(UINT nIDEvent) { KillTimer(m_nTimer); m_nTimer = 0; if (m_sUserId == "") GetDlgItem(IDC_EDT_USERID)->SetFocus(); else if (m_sPassword == "") GetDlgItem(IDC_EDT_PASSWORD)->SetFocus(); else GetDlgItem(IDOK)->SetFocus(); CDialog::OnTimer(nIDEvent); } void CConnectDlg::OnOK() { UpdateData(TRUE); CDialog::OnOK(); } void CConnectDlg::OnChkAutoconnect() { if (m_chkAutoConnect.GetCheck() == BST_CHECKED) { m_chkSavePassword.SetCheck(BST_CHECKED); m_chkSavePassword.EnableWindow(FALSE); } else { m_chkSavePassword.EnableWindow(TRUE); } } void CConnectDlg::OnBtnProxy() { CConnectProxyDlg dlg; dlg.DoModal(); }