DragonNest/Client/EtActionTool/EventEditView_CreateModifyParameter.cpp

609 lines
18 KiB
C++
Raw Normal View History

2024-12-19 09:48:26 +08:00
// EventEditView_CreateModifyParameter.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
//
#include "stdafx.h"
#include "EtActionTool.h"
#include "EventEditView_CreateModifyParameter.h"
#include "resource.h"
#include "UnionValueProperty.h"
// CEventEditView_CreateModifyParameter
IMPLEMENT_DYNCREATE(CEventEditView_CreateModifyParameter, CFormView)
CEventEditView_CreateModifyParameter::CEventEditView_CreateModifyParameter()
: CFormView(CEventEditView_CreateModifyParameter::IDD)
, m_szParamName(_T(""))
, m_szParamDesc(_T(""))
, m_fValueMin(0)
, m_fValueMax(0)
, m_szValueData(_T(""))
{
m_bActivate = false;
m_pmemDC = NULL;
m_pdcBitmap = NULL;
}
CEventEditView_CreateModifyParameter::~CEventEditView_CreateModifyParameter()
{
DeleteMemDC();
}
void CEventEditView_CreateModifyParameter::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
DDX_Control(pDX, IDC_COMBO1, m_ValueType);
DDX_Text(pDX, IDC_EDIT1, m_szParamName);
DDX_Text(pDX, IDC_EDIT5, m_szParamDesc);
DDX_Text(pDX, IDC_EDIT2, m_fValueMin);
DDX_Text(pDX, IDC_EDIT3, m_fValueMax);
DDX_Text(pDX, IDC_EDIT4, m_szValueData);
}
BEGIN_MESSAGE_MAP(CEventEditView_CreateModifyParameter, CFormView)
ON_WM_PAINT()
ON_WM_SIZE()
ON_CBN_SELCHANGE(IDC_COMBO1, &CEventEditView_CreateModifyParameter::OnCbnSelchangeCombo1)
ON_EN_CHANGE(IDC_EDIT1, &CEventEditView_CreateModifyParameter::OnEnChangeEdit1)
END_MESSAGE_MAP()
// CEventEditView_CreateModifyParameter <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
#ifdef _DEBUG
void CEventEditView_CreateModifyParameter::AssertValid() const
{
CFormView::AssertValid();
}
#ifndef _WIN32_WCE
void CEventEditView_CreateModifyParameter::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif
#endif //_DEBUG
// CEventEditView_CreateModifyParameter <20>޽<EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
void CEventEditView_CreateModifyParameter::PreProcess()
{
m_szParamName = s_pCurrentPropertyVariable->GetDescription();
if( s_pCurrentPropertyVariable->GetSubDescription() )
m_szParamDesc = _GetSubStrByCount( 0, (char*)s_pCurrentPropertyVariable->GetSubDescription() );
else m_szParamDesc.Empty();
int nCurSel = 0;
switch( s_pCurrentPropertyVariable->GetType() ) {
case CUnionValueProperty::Integer:
nCurSel = 0;
if( s_pCurrentPropertyVariable->GetSubDescription() ) {
if( _GetSubStrByCount( 3, (char*)s_pCurrentPropertyVariable->GetSubDescription() ) ) {
m_fValueMin = (float)( (int)atoi( _GetSubStrByCount( 1, (char*)s_pCurrentPropertyVariable->GetSubDescription() ) ) );
m_fValueMax = (float)( (int)atoi( _GetSubStrByCount( 2, (char*)s_pCurrentPropertyVariable->GetSubDescription() ) ) );
nCurSel = 1;
}
}
break;
case CUnionValueProperty::Float:
nCurSel = 4;
if( s_pCurrentPropertyVariable->GetSubDescription() ) {
if( _GetSubStrByCount( 3, (char*)s_pCurrentPropertyVariable->GetSubDescription() ) ) {
m_fValueMin = (float)atof( _GetSubStrByCount( 1, (char*)s_pCurrentPropertyVariable->GetSubDescription() ) );
m_fValueMax = (float)atof( _GetSubStrByCount( 2, (char*)s_pCurrentPropertyVariable->GetSubDescription() ) );
nCurSel = 5;
}
}
break;
case CUnionValueProperty::Color:
nCurSel = 2;
break;
case CUnionValueProperty::Integer_Combo:
if( s_pCurrentPropertyVariable->GetSubDescription() ) {
m_szValueData.Empty();
for( int i=0; ; i++ ) {
const char *pStr = _GetSubStrByCount( 1+i, (char*)s_pCurrentPropertyVariable->GetSubDescription() );
if( pStr == NULL ) break;
else if( i > 0 ) m_szValueData += "|";
m_szValueData += pStr;
}
}
else m_szValueData.Empty();
nCurSel = 3;
break;
case CUnionValueProperty::Vector3:
nCurSel = 7;
break;
case CUnionValueProperty::Vector2:
nCurSel = 6;
break;
case CUnionValueProperty::Vector4:
nCurSel = 8;
break;
case CUnionValueProperty::Vector4Color:
nCurSel = 9;
break;
case CUnionValueProperty::Boolean:
nCurSel = 10;
break;
case CUnionValueProperty::String:
nCurSel = 11;
break;
case CUnionValueProperty::String_FileOpen:
if( s_pCurrentPropertyVariable->GetSubDescription() ) {
m_szValueData.Empty();
for( int i=0; ; i++ ) {
const char *pStr = _GetSubStrByCount( 1+i, (char*)s_pCurrentPropertyVariable->GetSubDescription() );
if( pStr == NULL ) break;
else if( i > 0 ) m_szValueData += "|";
m_szValueData += pStr;
}
}
else m_szValueData.Empty();
nCurSel = 12;
break;
case CUnionValueProperty::Pointer:
if( s_pCurrentPropertyVariable->GetSubDescription() ) {
m_szValueData.Empty();
for( int i=0; ; i++ ) {
const char *pStr = _GetSubStrByCount( 1+i, (char*)s_pCurrentPropertyVariable->GetSubDescription() );
if( pStr == NULL ) break;
else if( i > 0 ) m_szValueData += "|";
m_szValueData += pStr;
}
}
else m_szValueData.Empty();
nCurSel = 13;
break;
}
m_ValueType.SetCurSel( nCurSel );
EnableAdditionalControl( nCurSel );
UpdateData( FALSE );
}
bool CEventEditView_CreateModifyParameter::PostProcess()
{
UpdateData();
if( m_szParamName.IsEmpty() ) {
MessageBox( "<EFBFBD≯<EFBFBD><EFBFBD><EFBFBD> <20>Է<EFBFBD><D4B7><EFBFBD> <20>ּ<EFBFBD><D6BC><EFBFBD>~", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MB_OK );
return false;
}
if( m_szParamDesc.IsEmpty() ) {
MessageBox( "<EFBFBD>ο<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Է<EFBFBD><D4B7><EFBFBD> <20>ּ<EFBFBD><D6BC><EFBFBD>", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MB_OK );
return false;
}
bool bImpossibleChar = false;
for( int i=0; i<m_szParamName.GetLength(); i++ ) {
if( m_szParamName[i] < 'A' || m_szParamName[i] > 'z' ) {
bImpossibleChar = true;
break;
}
}
if( bImpossibleChar ) {
MessageBox( "<EFBFBD≯<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD><D2B0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ڰ<EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MB_OK );
return false;
}
/*
bImpossibleChar = false;
for( int i=0; i<m_szParamDesc.GetLength(); i++ ) {
if( m_szParamDesc[i] < 'A' || m_szParamDesc[i] > 'z' ) {
bImpossibleChar = true;
break;
}
}
if( bImpossibleChar ) {
MessageBox( "<EFBFBD>ο<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD><D2B0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ڰ<EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MB_OK );
return false;
}
*/
if( s_pCurrentSignalItem->IsExistParameter( m_szParamName, s_szCurrentPropertyName ) == true ) {
MessageBox( "<EFBFBD>ߺ<EFBFBD><EFBFBD>Ǵ<EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MB_OK );
return false;
}
switch( m_ValueType.GetCurSel() ) {
case 1:
{
bool bFlag = true;
if( (int)m_fValueMin >= (int)m_fValueMax ) bFlag = false;
if( (int)m_fValueMin < INT_MIN ) bFlag = false;
if( (int)m_fValueMin > INT_MAX ) bFlag = false;
if( bFlag == false ) {
MessageBox( "<EFBFBD>ִ<EFBFBD> <20>ּҰ<D6BC><D2B0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ּ<EFBFBD><D6BC><EFBFBD>.", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MB_OK );
return false;
}
}
break;
case 3:
{
bool bFlag = true;
if( m_szValueData.IsEmpty() ) bFlag = false;
if( bFlag == true ) {
int nCount = 0;
const char *pPtr;
for( int i=0; ; i++ ) {
pPtr = _GetSubStrByCount( i, m_szValueData.GetBuffer() );
if( pPtr == NULL ) break;
nCount++;
}
if( nCount < 2 ) bFlag = false;
}
if( bFlag == false ) {
MessageBox( "<EFBFBD>޺<EFBFBD><EFBFBD>ڽ<EFBFBD> <20><>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20>Է<EFBFBD><D4B7><EFBFBD> <20>ּ<EFBFBD><D6BC><EFBFBD>", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MB_OK );
return false;
}
}
break;
case 5:
{
bool bFlag = true;
if( m_fValueMin >= m_fValueMax ) bFlag = false;
// if( m_fValueMin < FLT_MIN ) bFlag = false;
// if( m_fValueMax > FLT_MAX ) bFlag = false;
if( bFlag == false ) {
MessageBox( "<EFBFBD>ִ<EFBFBD> <20>ּҰ<D6BC><D2B0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ּ<EFBFBD><D6BC><EFBFBD>.", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MB_OK );
return false;
}
}
break;
}
switch( m_ValueType.GetCurSel() ) {
case 0:
s_pCurrentPropertyVariable->ChangeType( CUnionValueProperty::Integer );
s_pCurrentPropertyVariable->SetSubDescription( m_szParamDesc.GetBuffer(), true );
break;
case 1:
{
s_pCurrentPropertyVariable->ChangeType( CUnionValueProperty::Integer );
CString szStr;
szStr.Format( "%s|%d|%d|1", m_szParamDesc, (int)m_fValueMin, (int)m_fValueMax );
s_pCurrentPropertyVariable->SetSubDescription( szStr.GetBuffer(), true );
}
break;
case 2:
{
s_pCurrentPropertyVariable->ChangeType( CUnionValueProperty::Color );
s_pCurrentPropertyVariable->SetSubDescription( m_szParamDesc.GetBuffer(), true );
}
break;
case 3:
{
s_pCurrentPropertyVariable->ChangeType( CUnionValueProperty::Integer_Combo );
CString szStr;
szStr.Format( "%s|%s", m_szParamDesc, m_szValueData );
s_pCurrentPropertyVariable->SetSubDescription( szStr.GetBuffer(), true );
}
break;
case 4:
s_pCurrentPropertyVariable->ChangeType( CUnionValueProperty::Float );
s_pCurrentPropertyVariable->SetSubDescription( m_szParamDesc.GetBuffer(), true );
break;
case 5:
{
s_pCurrentPropertyVariable->ChangeType( CUnionValueProperty::Float );
CString szStr;
szStr.Format( "%s|%.f|%.f|0.0001f", m_szParamDesc, m_fValueMin, m_fValueMax );
s_pCurrentPropertyVariable->SetSubDescription( szStr.GetBuffer(), true );
}
break;
case 6:
s_pCurrentPropertyVariable->ChangeType( CUnionValueProperty::Vector2 );
s_pCurrentPropertyVariable->SetSubDescription( m_szParamDesc.GetBuffer(), true );
break;
case 7:
s_pCurrentPropertyVariable->ChangeType( CUnionValueProperty::Vector3 );
s_pCurrentPropertyVariable->SetSubDescription( m_szParamDesc.GetBuffer(), true );
break;
case 8:
s_pCurrentPropertyVariable->ChangeType( CUnionValueProperty::Vector4 );
s_pCurrentPropertyVariable->SetSubDescription( m_szParamDesc.GetBuffer(), true );
break;
case 9:
s_pCurrentPropertyVariable->ChangeType( CUnionValueProperty::Vector4Color );
s_pCurrentPropertyVariable->SetSubDescription( m_szParamDesc.GetBuffer(), true );
break;
case 10:
s_pCurrentPropertyVariable->ChangeType( CUnionValueProperty::Boolean );
s_pCurrentPropertyVariable->SetSubDescription( m_szParamDesc.GetBuffer(), true );
break;
case 11:
s_pCurrentPropertyVariable->ChangeType( CUnionValueProperty::String );
s_pCurrentPropertyVariable->SetSubDescription( m_szParamDesc.GetBuffer(), true );
break;
case 12:
{
s_pCurrentPropertyVariable->ChangeType( CUnionValueProperty::String_FileOpen );
CString szStr;
szStr.Format( "%s|%s", m_szParamDesc, m_szValueData );
s_pCurrentPropertyVariable->SetSubDescription( szStr.GetBuffer(), true );
}
break;
case 13:
{
s_pCurrentPropertyVariable->ChangeType( CUnionValueProperty::Pointer );
CString szStr;
szStr.Format( "%s|%s", m_szParamDesc, m_szValueData );
s_pCurrentPropertyVariable->SetSubDescription( szStr.GetBuffer(), true );
}
break;
}
s_pCurrentPropertyVariable->SetDescription( m_szParamName );
return true;
}
void CEventEditView_CreateModifyParameter::OnInitialUpdate()
{
__super::OnInitialUpdate();
// TODO: <20><><EFBFBD>⿡ Ư<><C6AF>ȭ<EFBFBD><C8AD> <20>ڵ带 <20>߰<EFBFBD> <20><>/<2F>Ǵ<EFBFBD> <20>⺻ Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>մϴ<D5B4>.
if( m_bActivate == true ) return;
m_bActivate = true;
m_ValueType.AddString( "INT" );
m_ValueType.AddString( "INT - min,max" );
m_ValueType.AddString( "INT - color" );
m_ValueType.AddString( "INT - combo" );
m_ValueType.AddString( "FLOAT" );
m_ValueType.AddString( "FLOAT - min,max" );
m_ValueType.AddString( "VECTOR2" );
m_ValueType.AddString( "VECTOR3" );
m_ValueType.AddString( "VECTOR4" );
m_ValueType.AddString( "VECTOR4 - color" );
m_ValueType.AddString( "BOOL" );
m_ValueType.AddString( "STRING" );
m_ValueType.AddString( "STRING - FileFind" );
m_ValueType.AddString( "Custom Define" );
m_ValueType.SetCurSel(0);
EnableAdditionalControl( -1 );
}
void CEventEditView_CreateModifyParameter::CreateMemDC()
{
if( m_pdcBitmap || m_pmemDC ) return;
m_pmemDC = new CDC;
m_pdcBitmap = new CBitmap;
CRect rcRect = CRect( 0, 0, 210, 110 );
CDC *pDC = GetDC();
m_pmemDC->CreateCompatibleDC( pDC );
m_pdcBitmap->CreateCompatibleBitmap( pDC, rcRect.Width(), rcRect.Height() );
ReleaseDC( pDC );
}
void CEventEditView_CreateModifyParameter::DeleteMemDC()
{
if( m_pdcBitmap ) {
m_pdcBitmap->DeleteObject();
SAFE_DELETE( m_pdcBitmap );
}
if( m_pmemDC ) {
m_pmemDC->DeleteDC();
SAFE_DELETE( m_pmemDC );
}
}
void CEventEditView_CreateModifyParameter::OnPaint()
{
CPaintDC dc(this); // device context for painting
CreateMemDC();
CRect rcRect = CRect( 0, 0, 210, 110 );
CBitmap *pOldBitmap;
pOldBitmap = m_pmemDC->SelectObject( m_pdcBitmap );
// <20><><EFBFBD><EFBFBD>ü<EFBFBD>
m_pmemDC->FillSolidRect( &rcRect, RGB(247, 243, 233) );
// ī<>װ<EFBFBD><D7B0><EFBFBD> <20><> ä<><C3A4><EFBFBD>ְ<EFBFBD>
CRect rcCategory = CRect( 0, 0, 15, 110 );
m_pmemDC->FillSolidRect( &rcCategory, RGB(182, 210, 189) );
rcCategory = CRect( 0, 0, 210, 15 );
m_pmemDC->FillSolidRect( &rcCategory, RGB(182, 210, 189) );
// ī<><C4AB><EFBFBD>ڸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
rcCategory = CRect( 0, 15, 210, 30 );
for( int i=0; i<7; i++ ) {
m_pmemDC->Draw3dRect( &rcCategory, RGB(182, 210, 189), RGB(182, 210, 189) );
rcCategory.top += 28;
rcCategory.bottom += 28;
}
// ī<>װ<EFBFBD><D7B0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
rcCategory = CRect( 100, 0, 210, 111 );
m_pmemDC->Draw3dRect( &rcCategory, RGB(182, 210, 189), RGB(182, 210, 189) );
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ְ<EFBFBD>
rcCategory = CRect( 209, 15, 210, 110 );
m_pmemDC->Draw3dRect( &rcCategory, RGB(247, 243, 233), RGB(247, 243, 233) );
// <20>۾<EFBFBD><DBBE><EFBFBD><EFBFBD>ش<EFBFBD>.
m_pmemDC->SetBkMode( TRANSPARENT );
m_pmemDC->SelectStockObject( DEFAULT_GUI_FONT );
rcCategory = CRect( 15, 2, 210, 15 );
m_pmemDC->SetTextColor( RGB(100,100,100) );
m_pmemDC->DrawText( "Parameter", &rcCategory, DT_SINGLELINE | DT_LEFT | DT_VCENTER );
rcCategory = CRect( 20, 17, 100, 29 );
m_pmemDC->SetTextColor( RGB(50,50,50) );
m_pmemDC->DrawText( m_szParamName, &rcCategory, DT_SINGLELINE | DT_LEFT | DT_VCENTER );
rcCategory = CRect( 105, 17, 200, 29 );
CString szValue;
switch( m_ValueType.GetCurSel() ) {
case 0: szValue = "0"; break;
case 4: szValue = "0.000"; break;
case 1:
case 5:
{
CRect rcTemp = CRect( 150, 17, 210, 28 );
m_pmemDC->Draw3dRect( &rcTemp, RGB(0, 0, 0), RGB(255,255,255) );
rcTemp.DeflateRect( 1, 1, 1, 1 );
m_pmemDC->FillSolidRect( &rcTemp, RGB( 255,255,255 ) );
rcTemp.DeflateRect( 1, 1, 40, 1 );
m_pmemDC->FillSolidRect( &rcTemp, RGB( 80, 80, 80 ) );
if( m_ValueType.GetCurSel() == 1 ) szValue = "0";
else szValue = "0.000";
}
break;
case 2:
case 9:
{
CRect rcTemp = CRect( 104, 17, 127, 28 );
m_pmemDC->Draw3dRect( &rcTemp, RGB(0, 0, 0), RGB(0,0,0) );
rcTemp.DeflateRect( 1, 1, 1, 1 );
m_pmemDC->FillSolidRect( &rcTemp, RGB( 255,0,0 ) );
rcCategory.left += 28;
if( m_ValueType.GetCurSel() == 2 ) szValue = "255; 0; 0";
else szValue = "1.00; 0.00; 0.00; 1.00";
}
break;
case 6: szValue = "0.50; 0.30"; break;
case 7: szValue = "0.50; 0.30; 0.70"; break;
case 8: szValue = "0.50; 0.30; 0.70; 0.90"; break;
case 10: szValue = "True"; break;
case 11: szValue = "Hello World!"; break;
case 12:
{
CRect rcTemp = CRect( 196, 17, 210, 28 );
m_pmemDC->Draw3dRect( &rcTemp, RGB(255,255,255), RGB(0,0,0) );
rcTemp.DeflateRect( 1, 1, 1, 1 );
m_pmemDC->FillSolidRect( &rcTemp, RGB( 180,180,180 ) );
m_pmemDC->SetTextColor( RGB(0,0,0) );
rcTemp.DeflateRect( 1, 1, 1, 1 );
m_pmemDC->DrawText( "...", &rcTemp, DT_SINGLELINE | DT_CENTER | DT_VCENTER );
szValue = "Eternity.skn";
}
break;
case 3:
{
CRect rcTemp = CRect( 105, 29, 208, 100 );
m_pmemDC->Draw3dRect( &rcTemp, RGB(0,0,0), RGB(255,255,255) );
rcTemp.DeflateRect( 1, 1, 1, 1 );
m_pmemDC->FillSolidRect( &rcTemp, RGB( 255,255,255) );
char *szTemp[] = { "Stand", "Run", "Walk", "Die", "Down" };
rcTemp = CRect( 107, 30, 208, 41 );
for( int i=0; i<5; i++ ) {
m_pmemDC->SetTextColor( RGB(50,50,50) );
m_pmemDC->DrawText( szTemp[i], &rcTemp, DT_SINGLELINE | DT_LEFT | DT_VCENTER );
rcTemp.top += 13;
rcTemp.bottom += 13;
}
szValue = "Attack";
}
break;
case 13: szValue = "Custom Defeine"; break;
}
m_pmemDC->SetTextColor( RGB(50,50,50) );
m_pmemDC->DrawText( szValue, &rcCategory, DT_SINGLELINE | DT_LEFT | DT_VCENTER );
CRect rcStatic, rcWnd;
CPoint cPoint;
CWnd *pStatic = GetDlgItem( IDC_STATIC_PREVIEW );
pStatic->GetWindowRect( &rcStatic );
GetWindowRect( &rcWnd );
cPoint.x = rcStatic.left - rcWnd.left;
cPoint.y = rcStatic.top - rcWnd.top;
cPoint += CPoint( 15, 25 );
dc.BitBlt( cPoint.x, cPoint.y, rcRect.Width(), rcRect.Height(), m_pmemDC, 0, 0, SRCCOPY );
m_pmemDC->SelectObject(pOldBitmap);
}
void CEventEditView_CreateModifyParameter::OnSize(UINT nType, int cx, int cy)
{
__super::OnSize(nType, cx, cy);
DeleteMemDC();
CreateMemDC();
}
void CEventEditView_CreateModifyParameter::EnableAdditionalControl( int nCurSel )
{
std::vector<int> nVecEnableList;
if( nCurSel > -1 ) EnableAdditionalControl( -1 );
switch( nCurSel ) {
case -1:
nVecEnableList.push_back( IDC_STATIC_ADDITIONAL );
nVecEnableList.push_back( IDC_STATIC_MIN );
nVecEnableList.push_back( IDC_STATIC_MAX );
nVecEnableList.push_back( IDC_STATIC_DATA );
nVecEnableList.push_back( IDC_EDIT2 );
nVecEnableList.push_back( IDC_EDIT3 );
nVecEnableList.push_back( IDC_EDIT4 );
break;
case 1:
case 5:
nVecEnableList.push_back( IDC_STATIC_ADDITIONAL );
nVecEnableList.push_back( IDC_STATIC_MIN );
nVecEnableList.push_back( IDC_STATIC_MAX );
nVecEnableList.push_back( IDC_EDIT2 );
nVecEnableList.push_back( IDC_EDIT3 );
break;
case 3:
case 12:
nVecEnableList.push_back( IDC_STATIC_ADDITIONAL );
nVecEnableList.push_back( IDC_STATIC_DATA );
nVecEnableList.push_back( IDC_EDIT4 );
break;
case 13:
nVecEnableList.push_back( IDC_STATIC_ADDITIONAL );
nVecEnableList.push_back( IDC_STATIC_DATA );
nVecEnableList.push_back( IDC_EDIT4 );
break;
}
for( DWORD i=0; i<nVecEnableList.size(); i++ ) {
GetDlgItem( nVecEnableList[i] )->ShowWindow( ( nCurSel == -1 ) ? SW_HIDE : SW_SHOW );
}
}
void CEventEditView_CreateModifyParameter::OnCbnSelchangeCombo1()
{
// TODO: <20><><EFBFBD><20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
EnableAdditionalControl( m_ValueType.GetCurSel() );
UpdateData();
Invalidate( FALSE );
}
void CEventEditView_CreateModifyParameter::OnEnChangeEdit1()
{
UpdateData();
Invalidate( FALSE );
}
BOOL CEventEditView_CreateModifyParameter::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
return FALSE;
// return __super::PreTranslateMessage(pMsg);
}