// CharParty.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù. // #include "stdafx.h" #include "GameDBTool.h" #include "CharParty.h" #include "GameDBTool.h" #include "GameDBToolDlg.h" #include ".\charparty.h" // CCharParty ´ëÈ­ »óÀÚÀÔ´Ï´Ù. IMPLEMENT_DYNAMIC(CCharParty, CDialog) CCharParty::CCharParty(CWnd* pParent /*=NULL*/) : CDialog(CCharParty::IDD, pParent), m_PID(0) , m_PIDOut(_T("")) { memset(&m_PartyInfo, 0, sizeof(PARTY_INFO)); } CCharParty::~CCharParty() { } void CCharParty::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_PID, m_PIDOut); DDX_Control(pDX, IDC_PARTY_LIST, m_PartyList); } BEGIN_MESSAGE_MAP(CCharParty, CDialog) ON_BN_CLICKED(IDC_PARTY_LOAD, OnBnClickedPartyLoad) ON_BN_CLICKED(IDC_PARTY_DELETE, OnBnClickedPartyDelete) ON_BN_CLICKED(IDC_PARTY_DELETEMEM, OnBnClickedPartyDeletemem) ON_WM_CTLCOLOR() END_MESSAGE_MAP() BOOL CCharParty::OnInitDialog() { CDialog::OnInitDialog(); m_PartyList.SetColumn(); CCharParty::OnBnClickedPartyLoad(); return TRUE; } void CCharParty::OnBnClickedPartyLoad() { CGameDBToolApp* pAppWnd = (CGameDBToolApp*)AfxGetApp(); CGameDBToolDlg* pDlgWnd = (CGameDBToolDlg*)pAppWnd->m_pMainWnd; PARTY_DB_INFO partyDBInfo; if(!DBComponent::GameDB::GetPartyInfo(CDBSingleObject::GetInstance(), m_PID, &partyDBInfo)) { pDlgWnd->m_Log.LogPrint("[ÆÄƼ] ÆÄƼ Á¤º¸ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } m_PartyInfo = partyDBInfo.PartyInfo; m_PIDOut.Format("%d", m_PID); m_PartyList.AddPartyRows(&m_PartyInfo); UpdateData(FALSE); } void CCharParty::OnBnClickedPartyDelete() { UpdateData(); CGameDBToolApp* pAppWnd = (CGameDBToolApp*)AfxGetApp(); CGameDBToolDlg* pDlgWnd = (CGameDBToolDlg*)pAppWnd->m_pMainWnd; PARTY_DB_INFO partyDBInfo; partyDBInfo.PartyInfo = m_PartyInfo; if(!DBComponent::GameDB::DeleteParty(CDBSingleObject::GetInstance(), &partyDBInfo, m_PID)) { pDlgWnd->m_Log.LogPrint("[ÆÄƼ] ÆÄƼ »èÁ¦Áß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } else { pDlgWnd->m_Log.LogPrint("[ÆÄƼ] ÆÄƼ »èÁ¦ ¼º°ø. %d", m_PID); pDlgWnd->UpdateCharTable(); m_PID = 0; memset(&m_PartyInfo, 0, sizeof(PARTY_INFO)); } CCharParty::OnBnClickedPartyLoad(); UpdateData(FALSE); } void CCharParty::OnBnClickedPartyDeletemem() { /* UpdateData(); CGameDBToolApp* pAppWnd = (CGameDBToolApp*)AfxGetApp(); CGameDBToolDlg* pDlgWnd = (CGameDBToolDlg*)pAppWnd->m_pMainWnd; CDBSingleObject *lpDB = pDlgWnd->m_pDB; DWORD CID = 0; char strCID[100] = ""; POSITION Pos; int Index; Pos = m_PartyList.GetFirstSelectedItemPosition(); if(Pos != NULL) { Index = m_PartyList.GetNextSelectedItem(Pos); if(m_PartyList.GetItemText(Index, 0, strCID, 256)) { CID = atoi(strCID); if(!DBComponent::GameDB::DeletePartyMember(CDBSingleObject::GetInstance(), m_PID, &m_PartyInfo, CID)) // ¾÷µ¥ÀÌÆ® µÉ m_PartyInfo¿©¾ß ÇÔ { pDlgWnd->m_Log.LogPrint("[ÆÄƼ] ¸â¹ö »èÁ¦ ½ÇÆÐ %d : %s", CID, CDBSingleObject::GetInstance().GetErrorString()); } else { pDlgWnd->m_Log.LogPrint("[ÆÄƼ] ¸â¹ö »èÁ¦ ¿Ï·á %d", CID); } } } CCharParty::OnBnClickedPartyLoad(); UpdateData(FALSE); */ } HBRUSH CCharParty::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: ¿©±â¼­ DCÀÇ Æ¯¼ºÀ» º¯°æÇÕ´Ï´Ù. HBRUSH m_hBrush; m_hBrush = CreateSolidBrush(RGB( 255, 169, 128)); switch( nCtlColor ){ case CTLCOLOR_DLG: pDC->SetBkColor(RGB( 255, 255, 255)); pDC->SetTextColor(RGB( 0, 0, 0)); return m_hBrush; break; case CTLCOLOR_STATIC: pDC->SetBkColor(RGB( 255, 169, 128)); pDC->SetTextColor(RGB( 0, 0, 0)); return m_hBrush; break; default: return hbr; break; } }