DragonNest/Client/DnLauncher2/DnResourceEditer/DnDynamicCtrl.cpp

129 lines
2.8 KiB
C++
Raw Normal View History

2024-12-19 09:48:26 +08:00
// DnDynamicCtrl.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
//
#include "stdafx.h"
#include "DnResourceEditer.h"
#include "DnDynamicCtrl.h"
#include "DnControlManager.h"
// CDnDynamicCtrl <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
IMPLEMENT_DYNAMIC(CDnDynamicCtrl, CDialog)
CDnDynamicCtrl::CDnDynamicCtrl(CWnd* pParent /*=NULL*/)
: CDialog(CDnDynamicCtrl::IDD, pParent)
{
}
CDnDynamicCtrl::CDnDynamicCtrl(CString szEnum, CString szName, CWnd* pParent /*=NULL*/)
: CDialog(CDnDynamicCtrl::IDD, pParent)
{
m_szName = szName;
m_szEnum = szEnum;
}
CDnDynamicCtrl::CDnDynamicCtrl(int nLastSelCtrl, CWnd* pParent)
: CDialog(CDnDynamicCtrl::IDD, pParent), m_nLastSelCtrl(nLastSelCtrl)
{
}
CDnDynamicCtrl::~CDnDynamicCtrl()
{
}
void CDnDynamicCtrl::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_EDIT_ENUM_VALUE, m_editEnum);
DDX_Control(pDX, IDC_EDIT_CTRL_NAME, m_editCtrlName);
}
BEGIN_MESSAGE_MAP(CDnDynamicCtrl, CDialog)
ON_EN_CHANGE(IDC_EDIT_ENUM_VALUE, &CDnDynamicCtrl::OnEnChangeEditEnumValue)
ON_EN_CHANGE(IDC_EDIT_CTRL_NAME, &CDnDynamicCtrl::OnEnChangeEditCtrlName)
ON_WM_CREATE()
ON_WM_SETFOCUS()
ON_EN_SETFOCUS(IDC_EDIT_CTRL_NAME, &CDnDynamicCtrl::OnEnSetfocusEditCtrlName)
END_MESSAGE_MAP()
int CDnDynamicCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) // 1
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
return 0;
}
BOOL CDnDynamicCtrl::OnInitDialog() // 2
{
CDialog::OnInitDialog();
m_editEnum.SetWindowText(m_szEnum);
m_editCtrlName.SetWindowText(m_szName);
m_editEnum.SetFocus();
return TRUE;
}
void CDnDynamicCtrl::OnEnChangeEditEnumValue()
{
CString szCurrentStr;
m_editEnum.GetWindowText(szCurrentStr);
DNCTRLMANAGER.m_DynamicControlData.m_nEnumValue = _ttoi(szCurrentStr);
TRACE("1--> %d\n" , DNCTRLMANAGER.m_DynamicControlData.m_nEnumValue);
}
void CDnDynamicCtrl::OnEnChangeEditCtrlName()
{
CString str;
m_editCtrlName.GetWindowText(str);
DNCTRLMANAGER.m_DynamicControlData.m_szName = str;
}
void CDnDynamicCtrl::OnEnSetfocusEditCtrlName()
{
CString str;
if( DNCTRLMANAGER.m_DynamicControlData.m_nEnumValue >= 0 )
{
TRACE("2--> %d\n" , DNCTRLMANAGER.m_DynamicControlData.m_nEnumValue);
str.Format(L"[ %d ] ", DNCTRLMANAGER.m_DynamicControlData.m_nEnumValue);
CString szName;
m_editCtrlName.GetWindowText(szName);
int nPos = szName.Find(']') + 1;
int nSize = szName.GetLength() - nPos;
szName = szName.Right(nSize);
str += szName;
}
m_editCtrlName.SetWindowText(str);
m_editCtrlName.SetSel(m_editCtrlName.GetWindowTextLength(),m_editCtrlName.GetWindowTextLength());
}
void CDnDynamicCtrl::OnSetFocus(CWnd* pOldWnd)
{
CDialog::OnSetFocus(pOldWnd);
}
BOOL CDnDynamicCtrl::PreTranslateMessage(MSG* pMsg)
{
// TODO: <20><><EFBFBD>⿡ Ư<><C6AF>ȭ<EFBFBD><C8AD> <20>ڵ带 <20>߰<EFBFBD> <20><>/<2F>Ǵ<EFBFBD> <20>⺻ Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>մϴ<D5B4>.
if( pMsg->wParam == VK_ESCAPE )
{
return true;
}
return CDialog::PreTranslateMessage(pMsg);
}